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(DATETIME,CONVERT(DATE,GETDATE()))
我认为它很有用。
其他回答
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @your_date))
例如
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
给了我
2008-09-22 00:00:00.000
赞成的意见:
不需要varchar<->datetime转换无需考虑区域设置
以日期格式返回
CAST(订单日期AS日期)
以上代码将在sqlserver2010中运行
它将于2013年12月12日回归
对于SQL Server 2012,请使用以下代码
CONVERT(VARCHAR(10), OrderDate , 111)
使用FLOOR()-只需削减时间部分。
SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)
我认为这对你来说是可行的:
CONVERT(VARCHAR(10),Person.DateOfBirth,111) AS BirthDate
//here date is obtained as 1990/09/25
我的风格
select Convert(smalldatetime,Convert(int,Convert(float,getdate())))