当我选择日期在SQL返回为2011-02-25 21:17:33.933。但我只需要日期部分,即2011-02-25。我该怎么做呢?


当前回答

虽然已经太晚了,但我还是坚持了下来

declare @vCurrentDate date=getutcdate()

select @vCurrentDate

当数据类型为date时,小时将被截断

其他回答

你也可以试试这个。

SELECT CONVERT(DATE, GETDATE(), 120)

使用CAST(GETDATE()作为日期)为我工作

SQL Server 2008:

Convert(date, getdate())  

请参考https://learn.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql

2008年旧版本:

Select dateadd (day, datediff (day, 0, getdate ()), 0)

最快的是date ediff。

select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl

但是如果你只需要使用这个值,那么你可以跳过dateadd,例如。

select ...
WHERE somedate <= datediff(d, 0, getdate())

表达式datediff(d, 0, getdate())足以返回今天的日期而不包含时间部分。