Есть ли способ использовать dateadd() в предложении where в операторе Между?

Вот моя проблема.

В моем where пункт, который я пытаюсь использовать between пункт с датами. Во второй дате, которую я добавляю, мне нужно, чтобы она возвращала день после вводимой даты.

Например: where DATE between '2015-05-01' and '2015-05-31' это то, что я хотел бы, чтобы пользователь вводил, но я бы хотел, чтобы база данных читала его как where DATE between '2015-05-01' and '2015-06-01'

Я пытался:where DATE between '2015-05-01' and dateadd('d', 1, '2015-05-31')

что, очевидно, дает мне синтаксическую ошибку. Я также попытался использовать подзапрос, который также не работал.

У кого-нибудь есть идеи или предложения, которые могли бы помочь? Или это не возможно в SQL? Любые советы будут высоко ценится!

Спасибо!

1 ответ

https://msdn.microsoft.com/es-es/library/ms186819(v=sql.120).aspx

г без кавычек

Sql Fiddle Demo

select *
from Table1
where mydate between '2015-10-02' and dateadd(d, 2, '2015-10-02')

Вам не нужно использовать апостроф вокруг d: dateadd('d', 1, '2015-05-31').

Вы можете написать заявление как where DATE between '2015-05-01' and dateadd(d, 1, '2015-05-31').

Другие вопросы по тегам