我正在从一个数据源读取数据,该数据源以 d:h:m:s:f
格式给我时间,日期部分始终为 0,该列表示时间的一天。我想将此列添加到我已有的日期时间。
Entry_Date Entry_Time
3/3/2009 12:00:00 0:16:17:6:0
8/24/2011 12:00:00 0:8:39:18:0
9/4/2010 12:00:00 0:12:33:18:0
如果我使用 C#,我会做 TimeSpan.ParseExact
,但我不知道如何以纯 sql 方式处理它。
我会转换为 time
,但我使用的是 Sql Server 2005,它没有 time
类型。
如何将时间添加到邻近的日期时间?
最佳答案
就这么简单:
select Entry_Date + cast(Entry_Time as datetime) combinedCol
from YourTable
这是一个有效的 fiddle :http://sqlfiddle.com/#!3/85c3c/1
尽情享受吧!
提问者的原注:
SQL 无法处理小数秒,但是可以将它们剪掉,这样查询将是
select Entry_Date + cast(left(Entry_Time, len(Entry_Time) - 2) as datetime) combinedCol
from YourTable
关于sql - 解析sql中的时间跨度字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16423138/