在sql中解析时间跨度字符串

时间:2013-05-07 15:39:16

标签: sql sql-server parsing sql-server-2005

我正在从一个数据源中读取,该数据源在格式为d:h:m:s:f的varchar中给我时间,日期部分始终为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类型。

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

1 个答案:

答案 0 :(得分:3)

这很简单:

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

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

享受!


原作Asker的说明:

SQL无法处理小数秒,但是它们可以被取消,因此查询将是

select Entry_Date + cast(left(Entry_Time, len(Entry_Time) - 2) as datetime) combinedCol
from YourTable