我正在尝试使用sysdate()
提取上个月的数据。
问问题
1686 次
2 回答
3
DECLARE @firstOfLastMonth DATE;
SET @firstOfLastMonth = DATEADD(MONTH, DATEDIFF(MONTH, 0, SYSDATETIME())-1, 0);
SELECT ... FROM ...
WHERE dateColumn >= @firstOfLastMonth
AND dateColumn < DATEADD(MONTH, 1, @firstOfLastMonth);
这就是您不想使用BETWEEN
此功能的原因:
于 2013-02-28T16:55:19.297 回答
1
你的意思是当前服务器时间减去一个月?尝试DATEADD 功能:
dateadd(month, -1, sysdatetime())
如果要选择列值在过去一个月内的记录,可以执行以下操作:
SELECT foo
FROM bar
WHERE baz BETWEEN dateadd(month, -1, sysdatetime()) AND sysdatetime()
于 2013-02-28T16:18:38.713 回答