Преобразование из формата даты в SQL Server 2005

У меня есть дата в формате YYYYMMDD в Varchar. Нужно изменить это на формат гггг-мм-дд и добавить 1 к дате. Следует преобразовать обратно в формат ГГГГММДД.

Может ли кто-нибудь помочь достичь этого.


person Sree    schedule 22.01.2014    source источник


Ответы (1)


Сначала необходимо преобразовать. Используйте CONVERT, потому что вам нужно сообщить функции преобразования, какой формат у вашего dataetime varchar. Далее в статье, на которую я ссылаюсь, вы видите различные допустимые форматы. Просматривая эту таблицу, вы узнаете, что формат ГГГГММДД называется формат ISO, и поэтому третий параметр нашего CONVERT должен быть равен 112.

а затем используйте DATEADD и снова CONVERT.

SELECT CONVERT(VARCHAR,DATEADD(d, 1,CONVERT(DATETIME, '20140121', 112) ),112)

Для 2008 и выше вы можете использовать тип данных DATE, в sqlserver 2005 существуют только типы DATETIME и SMALLDATETIME.

рабочий sqlfiddle

person rene    schedule 22.01.2014
comment
перенесен на sql server 2005 - person rene; 23.01.2014