使用00:00:00:000将日期转换为日期时间

时间:2014-09-22 19:39:05

标签: sql sql-server tsql

我正在投射数亿个数据点。我从2008-10-20 01:33:20 023开始,我需要返回2008-10-20 00:00:00:000

我目前正在执行此操作的方式是:

SELECT CAST(CAST('2008-10-20 01:33:20 023' AS DATE) AS DATETIME

这是执行两个操作,因为有2个CASTS。

有没有办法只用一次操作来做同样的事情?

3 个答案:

答案 0 :(得分:2)

试试这个

select DATEADD(dd, DATEDIFF(dd, 0, COL),0) from TABLE

答案 1 :(得分:1)

如果只是一次验证,您可以避免使用

进行任何设置
where DateTimeWithTime >= DateTimeNoTime 
  and DateTimeWithTime <  DataAdd(dd,1,DateTimeNoTime)

答案 2 :(得分:0)

您可以使用以下查询来获取 00:00:000

的日期
DECLARE @TestDate DateTime
SET @TestDate = '2012-04-25 03:15.804'
SELECT CAST(CONVERT(nvarchar(10), @TestDate, 101) AS DATETIME)
RESULT: '2012-04-25 00:00:00.000'