如何编写SQL语句以自动使用BETWEEN语句中的指定日期?

时间:2019-06-05 19:31:36

标签: sql

我正在使用的此SQL代码不是我自己的,创建它的人也不再在身边。我有一个使用WHERE和BETWEEN设置一些参数的SELECT语句。我的问题是如何编写包含指定日期的语句,并使该日期自动更新。

我尝试了几种我认为可行的方法。我不是很精通SQL。

WHERE CORDT BETWEEN 'CURDATE()' AND '#CURRENT_TIMESTAMP#'

我希望我检索到的数据在每月的第一天到该月的最后一天之间。

编辑:日期只是我关心的事情,而不是时间。但也必须采用mm / dd / yyyy格式。

1 个答案:

答案 0 :(得分:0)

如果在SQL Server中执行此操作,则可以使用以下命令创建开始日期和结束日期:

DECLARE @StartOfMonth DateTime =  DATEADD(month, DATEDIFF(month, 0, getdate()), 0)
DECLARE @NextMonth DateTime = DATEADD(month, 1, @StartOfMonth)

然后可以在这些之间使用。由于@NextMonth变量正好在午夜开始,因此您可能永远都不会与之匹配...因此,只要您在datetime而不是date上进行匹配,它就应覆盖该日期之前的所有内容。另一种选择是做一点dateadd数学,从@NextMonth中减去一秒钟。