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

Откуда:
Сообщений: 7
как преобразовать из varchar в date? вот пример:
select '9 октября 2019' as [Field]
1 дек 19, 20:06    [22029867]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать из varchar в date?  [new]
aleks222
Member

Откуда:
Сообщений: 769
set language russian;
select cast('9 окт 2019' as date);
1 дек 19, 20:16    [22029872]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать из varchar в date?  [new]
Nastya66900
Member

Откуда:
Сообщений: 7
aleks222,

А если месяц написан не "октябрь" а "октября "с окончанием?
1 дек 19, 20:21    [22029876]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать из varchar в date?  [new]
aleks222
Member

Откуда:
Сообщений: 769
Nastya66900
aleks222,

А если месяц написан не "октябрь" а "октября "с окончанием?


replace
1 дек 19, 20:29    [22029878]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать из varchar в date?  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 560
Nastya66900,

Вот тут богатая коллекция, - посмотрите ваш вариант

http://www.sqlusa.com/bestpractices/datetimeconversion/
2 дек 19, 16:41    [22030492]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать из varchar в date?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1853
Nastya66900,

select 
	parse('1999 октября 23' as date using 'ru-ru'),
	parse('окт 23 1999' as date using 'ru-ru'),
	parse('23 ОКТябРЬ 1999' as date using 'ru-ru')


если 2016+, то можно уже try_parse
2 дек 19, 18:14    [22030593]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать из varchar в date?  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5096
Shakill
Nastya66900,

select 
	parse(N'1999 октября 23' as date using 'ru-ru'),
	parse(N'окт 23 1999' as date using 'ru-ru'),
	parse(N'23 ОКТябРЬ 1999' as date using 'ru-ru')



лучше через юникод
2 дек 19, 19:23    [22030669]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить