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


当前回答

我猜他想要根绳子。

select convert(varchar(10), '2011-02-25 21:17:33.933', 120)

这里的120告诉转换函数,我们以以下格式传递输入日期:yyyy-mm-dd hh:mi:ss。

其他回答

CAST(
        FLOOR( 
             CAST( GETDATE() AS FLOAT ) 
        )

AS DATETIME
)

http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm

如果你需要时间为0,比如2018-01-17 00:00:00.000:

Select convert (datetime, convert (date, getdate ()), 121)

SQL Server 2008:

Convert(date, getdate())  

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

select DATE(字段)

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

选择值:2020-12-15

2008年旧版本:

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