【问题标题】:concatenating date and time column in SQL server 2000 with different data type在 SQL Server 2000 中使用不同的数据类型连接日期和时间列
【发布时间】:2013-11-09 16:40:32
【问题描述】:

我有一张表,日期和时间列如下

       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

日期字段的数据类型是 datetime,时间字段的数据类型是 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时区。

【问题讨论】:

    标签: sql-server date time concatenation field


    【解决方案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) 的任何其他时区。根据您的具体情况,您可以将一些转换表添加到您的数据库中,或者在您的业务逻辑中进行转换,或者其他适合您情况的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 2014-10-20
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多