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


当前回答

如果你想返回一个日期类型只是一个日期使用

CONVERT(date, SYSDATETIME())

or

SELECT CONVERT(date,SYSDATETIME()) 

or

DECLARE @DateOnly Datetime
SET @DateOnly=CONVERT(date,SYSDATETIME())

其他回答

首先将日期转换为浮点数(这将显示数字),然后将数字舍入为0小数点,然后将其转换为datetime。

convert(datetime,round(convert(float,orderdate,101),0) ,101)

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

declare @vCurrentDate date=getutcdate()

select @vCurrentDate

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

我将创建一个标量函数,并使用format()设置希望看到的数据类型。它必须便于以后的维护。

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

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

试试这个。

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