这是我的问题。
在我的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中是不可能的?任何建议将不胜感激!
谢谢!
答案 0 :(得分:1)
https://msdn.microsoft.com/es-es/library/ms186819(v=sql.120).aspx
d没有引号
<强> Sql Fiddle Demo 强>
select *
from Table1
where mydate between '2015-10-02' and dateadd(d, 2, '2015-10-02')
答案 1 :(得分:0)
您不需要在d周围使用撇号:dateadd('d', 1, '2015-05-31')
。
您可以将语句写为where DATE between '2015-05-01' and dateadd(d, 1, '2015-05-31')
。