我有一列保存一个字符串时间(即8:00 AM),我需要将其转换为实际时间并将其附加到DateTime字段(采用DateTime格式,而不是字符串)上。
示例:
日期字段= 2019-06-25 00:00:00.000
时间字段= 8:00 AM
期望的结果:2019-06-25 08:00:00.000
有人知道我如何在SQL中完成此任务吗?
我知道有些人仍然建议在代码中执行此操作,但是我正在编写一个查询,该查询在两个DateTime字段之间进行比较(其中一个具有集成的DateTime和正确的时间,而另一个具有日期和时间)是分开的
答案 0 :(得分:3)
使用DATETIME + CAST(timevariable AS DATETIME)
将返回您的预期结果:
DECLARE @Time AS VARCHAR (10) = '8:00 AM'
DECLARE @DateField AS DATETIME = '2019-06-25 00:00:00.000';
SELECT @DateField + CAST(@time AS DATETIME)
它也可以与1:00 PM