#sql #sql-server #string #date #sql-server-2019
#sql #sql-сервер #строка #Дата #sql-server-2019
Вопрос:
Я хочу добавить 1 день к дате с помощью компонента time. Моя дата указана, например.
2020-09-10 18:30:00.000'
и я хочу добавить 24 часа, т. Е. ожидаемый результат
2020-09-11 18:30:00.000
Я написал SELECT DATEADD(day, DATEDIFF(day, 0, '2020-09-10 18:30:00.000'), 1)
, но это не показывает компонент времени.
Как добавить дату с помощью компонента времени?
Ответ №1:
SQL Server действительно гибко распознает форматы дат и с радостью поймет вашу строку как дату, если вы введете ее в функцию date. Таким образом, нет необходимости в явном преобразовании строки в дату, вы можете просто сделать:
dateadd(day, 1, '2020-09-10 18:30:00.000')
Ответ №2:
Отбросьте datediff()
свою попытку. И согласно документации, дата является третьим аргументом dateadd()
функции.
select dateadd(day, 1, convert(datetime, '2020-09-10 18:30:00.000') );
Вывод:
2020-09-11 18:30:00.000
Комментарии:
1. . . Преобразование в
datetime
, вероятно, не требуется.