我想检索一个减去1年的日期,但没有时间表示法。
以下查询
SELECT DATEADD(year, -1, GETDATE())
输出:
2015-03-30 10:48:04.220
我想要的是2015-03-30 00:00:00:000
类似于:
(DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0))
结果为:2016-03-30 00:00:00.000
这样做的正确或最简单的方法是什么?
答案 0 :(得分:1)
在SQL Server 2008及更高版本上,您应该转换为日期:
SELECT CONVERT(date, (DATEADD(year, -1, GETDATE())))
在旧版本中,您可以执行以下操作:
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(year, -1, GETDATE())))