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
我怎么能得到那个?
当前回答
您可以使用CONVERT函数仅返回日期。请参阅以下链接:
SQL Server 2000中的日期和时间操作
铸造和转换
使用convert函数的语法为:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
其他回答
为了获得指示的结果,我使用以下命令。
SELECT CONVERT(DATETIME,CONVERT(DATE,GETDATE()))
我认为它很有用。
SELECT DATEADD(DD, DATEDIFF(DD, 0, GETDATE()), 0)
SELECT DATEADD(DAY, 0, DATEDIFF(DAY,0, GETDATE()))
SELECT CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101))
编辑:前两个方法基本相同,out执行转换为varchar方法。
在这种情况下,仅限日期,我们将运行以下查询:
选择转换(VARCHAR(10),getdate(),111);
DECLARE @yourdate DATETIME = '11/1/2014 12:25pm'
SELECT CONVERT(DATE, @yourdate)
使用FLOOR()-只需削减时间部分。
SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)