2013-11-09 2 views
0

У меня есть таблица с указанием даты и времени колонке, как показано нижеконкатенации дата и время столбца в SQL Server 2000 с различным типом данных

 Date   |  Time  

2013-08-23 00: 00: 00.000 | 05.26.13

2013-09-16 00:00:00 00.000 | 10.36.09

2013-10-21 00:00:00 00.000 | 11.58.35

Поле Datatype for Date - дата и время, а поле Datatype for 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.

ответ

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 

преобразующей dateTimePST в любой другой часовой пояс, принимая летнее время (DST) в SQL-Server 2000 невозможно с использованием встроенной функции. В зависимости от конкретной ситуации вы можете добавить некоторые таблицы преобразования в свою базу данных или выполнить преобразование в своей бизнес-логике или какое-то другое решение, подходящее для вашей ситуации.

Смежные вопросы