SELECT GETDATE()

返回时间:2008-09-22 15:24:13.790

我想要没有时间部分的日期部分:2008-09-22 00:00:00.000

我怎么能得到那个?


当前回答

只要做到:

SELECT CAST(日期变量为日期)

或使用PostgreSQL:

SELECT date_variable::日期

这就是所谓的打字!

其他回答

使用FLOOR()-只需削减时间部分。

SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)

我的风格

      select Convert(smalldatetime,Convert(int,Convert(float,getdate())))

如果要将结果分配给列或变量,请为其指定DATE类型,并且转换是隐式的。

DECLARE @Date DATE = GETDATE()   

SELECT @Date   --> 2017-05-03

从SQL SERVER 2012开始,您可以执行以下操作:

选择格式(GETDATE(),'yyyy-MM-dd 00:00:00.000')

为了获得指示的结果,我使用以下命令。

SELECT CONVERT(DATETIME,CONVERT(DATE,GETDATE()))

我认为它很有用。