我正在使用的此SQL代码不是我自己的,创建它的人也不再在身边。我有一个使用WHERE和BETWEEN设置一些参数的SELECT语句。我的问题是如何编写包含指定日期的语句,并使该日期自动更新。
我尝试了几种我认为可行的方法。我不是很精通SQL。
WHERE CORDT BETWEEN 'CURDATE()' AND '#CURRENT_TIMESTAMP#'
我希望我检索到的数据在每月的第一天到该月的最后一天之间。
编辑:日期只是我关心的事情,而不是时间。但也必须采用mm / dd / yyyy格式。
答案 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中减去一秒钟。