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


当前回答

在转换为日期后将其转换回datetime,以便在需要时保持相同的datatime

select Convert(datetime, Convert(date, getdate())  )

其他回答

在PLSQL中可以使用

to_char(SYSDATE,'dd/mm/yyyy')

最快的是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())足以返回今天的日期而不包含时间部分。

试试这个。

SELECT DATEADD(DD, 0, DATEDIFF(DD, 0, GETDATE()))

select DATE(字段)

字段值:2020-12-15 12:19:00

选择值:2020-12-15

有点晚了,但是可以使用ODBC的“curdate”函数(尖括号中的“fn”是ODBC函数转义序列)。

SELECT {fn curdate()} 

输出:2013-02-01