Как добавить дату в SQL? - PullRequest
0 голосов
/ 30 мая 2019

Как добавить или добавить дату?

SELECT DATEADD(month, -1, '2017-08-25') AS DATEADD

ОШИБКА:

Сообщение 242, Уровень 16, Состояние 3, Строка 98
Преобразование типа данных varchar в тип данных datetime привело к значению вне допустимого диапазона.

Ответы [ 2 ]

2 голосов
/ 30 мая 2019

Ваш запрос отлично работает в SQL Server (см. здесь ).

У вас могут быть тайные настройки интернационализации, которые не обрабатывают '2015-08-25' как ГГГГ-ММ-ДД.

Есть два варианта.Вы можете удалить дефисы:

SELECT DATEADD(month, -1, '20170825') AS DATEADD

SQL Server всегда обрабатывает строки даты с восемью цифрами как дату в формате ГГГГММДД.

Или выполните явное преобразование:

SELECT DATEADD(month, -1, CONVERT(DATE, '2017-08-25', 120)) AS DATEADD
0 голосов
/ 30 мая 2019

1 - Если у вас есть тип данных даты вашего столбца, вы можете напрямую добавить или добавить дату, как показано ниже

select datecol -1 as sub_op , datecol+1 as sub_op2 from your_table

2 - Если вы хотите преобразовать строку в дату в oracle, вы можете использовать функцию to_date, как показано ниже

select to_date('28-May-2019','DD-MM-YYYY') from dual;

или если mysql

STR_TO_DATE('2013-02-11', '%Y-%m-%d')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...