SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
当前回答
select convert(getdate() as date)
select CONVERT(datetime,CONVERT(date, getdate()))
其他回答
我知道这很古老,但我看不出哪里有人这样说。据我所知,这是ANSI标准。
SELECT CAST(CURRENT_TIMESTAMP AS DATE)
如果微软也能支持ANSI标准CURRENT_DATE变量,那就好了。
如果使用SQL 2008及更高版本:
select cast(getdate() as date)
select convert(getdate() as date)
select CONVERT(datetime,CONVERT(date, getdate()))
我的风格
select Convert(smalldatetime,Convert(int,Convert(float,getdate())))
使用FLOOR()-只需削减时间部分。
SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)