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


当前回答

你可以这样用

SELECT Convert(varchar(10), GETDATE(),120) 

其他回答

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

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

SELECT {fn curdate()} 

输出:2013-02-01

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

declare @vCurrentDate date=getutcdate()

select @vCurrentDate

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

你也可以试试这个。

SELECT CONVERT(DATE, GETDATE(), 120)

个人最喜欢的:

select convert(datetime, convert(int, getdate()))