Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Преобразование varchar вида 31.01.2018 в integer вида 20180131  [new]
Romanov-krd
Member

Откуда:
Сообщений: 116
есть столбец типа varchar где хранятся данные вида 31.01.2018
нужно вывести данные в виде 20180131. из за точек cast и convert не работает. как это еще сделать?
9 фев 18, 15:52    [21180509]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование varchar вида 31.01.2018 в integer вида 20180131  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36694
Romanov-krd
Преобразование varchar вида 31.01.2018 в integer вида 20180131

Мыши плакали, колоись, но упорно игнорировали специально предназначенные для хранения дат типы данных.
9 фев 18, 15:56    [21180531]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование varchar вида 31.01.2018 в integer вида 20180131  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
SELECT CAST(CONVERT(CHAR(8),CONVERT(DATE,'31.01.2018',104),112) AS INT)
9 фев 18, 15:59    [21180542]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование varchar вида 31.01.2018 в integer вида 20180131  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
SELECT PARSENAME('31.01.2018',1)+PARSENAME('31.01.2018',2)+PARSENAME('31.01.2018',3)
9 фев 18, 16:01    [21180556]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование varchar вида 31.01.2018 в integer вида 20180131  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
iap
SELECT PARSENAME('31.01.2018',1)+PARSENAME('31.01.2018',2)+PARSENAME('31.01.2018',3)
Уточнение
SELECT CAST(PARSENAME('31.01.2018',1)+PARSENAME('31.01.2018',2)+PARSENAME('31.01.2018',3) AS INT)
9 фев 18, 16:02    [21180562]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить