3

我正在从一个数据源读取数据,该数据源以 varchar 格式为我提供时间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类型。

如何将时间添加到相邻的日期时间?

4

1 回答 1

6

就这么简单:

select Entry_Date + cast(Entry_Time as datetime) combinedCol
from YourTable

这是一个工作小提琴:http ://sqlfiddle.com/#!3/85c3c/1

享受!


原始提问者的说明:

SQL 无法处理小数秒,但是可以将它们修剪掉,以便查询

select Entry_Date + cast(left(Entry_Time, len(Entry_Time) - 2) as datetime) combinedCol
from YourTable
于 2013-05-07T15:44:54.667 回答