Перевести ЧЧ: ММ ТТ во Время и добавить в дату - PullRequest
1 голос
/ 12 июня 2019

У меня есть столбец, который содержит строковое время (то есть 8:00 утра), и мне нужно преобразовать его в фактическое время и иметь возможность добавить его в поле DateTime (которое находится в формате DateTime, а не в строке).

Пример:
Поле даты = 2019-06-25 00: 00: 00.000
Поле времени = 8:00 AM
Желаемый результат: 2019-06-25 08: 00: 00.000

Кто-нибудь знает, как я могу сделать это в SQL?

Я знаю, что некоторые люди все еще предлагают делать это в коде, но я пишу запрос, который сравнивает два поля DateTime (одно из которых имеет встроенный DateTime с надлежащим временем, а другое - в которомдата и время разделены)

1 Ответ

3 голосов
/ 12 июня 2019

Использование DATETIME + CAST(timevariable AS DATETIME) вернет ожидаемый результат:

DECLARE @Time AS VARCHAR (10) = '8:00 AM'
DECLARE @DateField AS DATETIME = '2019-06-25 00:00:00.000';

SELECT @DateField + CAST(@time AS DATETIME)

Демонстрация по дб <> fiddle

Этотакже работать с 1:00 PM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...