我的表格中有日期和时间栏,如下所示
Date | Time
2013-08-23 00:00:00.000 | 13年5月26日
2013-09-16 00:00:00.000 | 10.36.09
2013-10-21 00:00:00.000 | 11.58.35
Date字段的数据类型是datetime,time字段的数据类型是varchar。我想连接这两个字段,并在新字段中获得如下所示的输出
2013-08-23 05:26:13.000
2013-09-16 10:36:09.000
2013-10-21 11:58:36.000
基本要求是上述时间是在PST时区,我想将其转换为EST,MST,AST和CST时区。
答案 0 :(得分:1)
在PST中获取完整的日期和时间可以通过获取相关的字符串部分并将它们添加到日期来完成:
select
dateadd(hour, cast(left(theTime,2) as int),
dateadd(minute, cast(substring(theTime, 4,2) as int),
dateadd(second, cast(right(theTime, 2) as int), theDate))) as dateTimePST
使用内置函数在SQL-Server 2000中无法将 dateTimePST 转换为考虑夏令时(DST)的任何其他时区。根据您的具体情况,您可以向数据库添加一些转换表,或者在业务逻辑中执行转换,或者根据您的具体情况执行其他解决方案。