Есть ли способ использовать 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
г без кавычек
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')
.