У меня есть база данных Я работаю с тем, где дебилы, разработавшие программное обеспечение для интерфейсов, считали необходимым создать отдельное поле Дата и время, однако оставляя столбцы Date столбцом DATETIME и временем как столбец VARCHAR.Объединить отдельные столбцы даты и времени SQL
По существу моя дата и время выглядит следующим образом:
Дата | Период
2007-10-06 00: 00: 00.000 | 1135
Вместо того, чтобы просто комбинировать столбцы 2 под 1 в качестве правильного дата и времени.
Я пытаюсь объединить 2 вместе, так что я могу точно это получения идеальной, надлежащее поле DATETIME, который сочетает в себе оба набора информации в т.е.
2007-10-06 11: 35: 00.000
Этот бит, с которым я борюсь.
Я думал, что я мог бы уйти с
DECLARE @date DATETIME
DECLARE @time VARCHAR
SET @date = '2007-10-06 00:00:00.000'
SET @time = '1125'
SELECT TOP 1
@date + (SUBSTRING(@time , 1 , 2) + ':' + SUBSTRING(@time , 2 , 2)
+ ':00')
К сожалению, нет, теперь я думаю, что я overthinking проблемы и просто врезаться в стену после того, как стены.
Может кто-нибудь помочь в этом вопросе и указать мне, где я неправильно:/
Заменить окончательный запрос с этим: 'ВЫБРАТЬ @date + (SUBSTRING (@time, 1, 2) + ':' + SUBSTRING (@time , 3, 2) + ': 00') '. –
@KarthikDV - Msg 241, уровень 16, состояние 1, строка 7 Не удалось преобразовать при преобразовании даты и/или времени из символьной строки. :/ – Lynchie
@ Lynchie, я проверил этот образец !. увидеть полный код здесь: 'DECLARE @date DATETIME DECLARE @time VARCHAR (4) SET @date = '2007-10-06 00: 00: 00.000' SET @time = '1125' ВЫБРАТЬ @date + (SUBSTRING (@time, 1, 2) + ':' + SUBSTRING (@time, 3, 2) + ': 00') '. –