选择没有时间的日期(SQL Server(+)

时间:2016-03-30 08:56:18

标签: sql-server tsql dateadd

我想检索一个减去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

这样做的正确或最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

在SQL Server 2008及更高版本上,您应该转换为日期:

SELECT CONVERT(date, (DATEADD(year, -1, GETDATE())))

在旧版本中,您可以执行以下操作:

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(year, -1, GETDATE())))