Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема MSSQL varchar => datetime (число прочтений - 2644 )
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
MSSQL varchar => datetime
19. Декабря 2006 :: 22:15
Печать  
Есть '20061219173118'

Как малой кровью в datetime переделать? На мускуле раз чихнуть, а тут не хотит в лоб понимать СAST ('20061219173118' as datetime).


День какой то сегодня трудный. От того что снег наконец-то пошел что-ли...
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: MSSQL varchar => datetime
Ответ #1 - 20. Декабря 2006 :: 03:35
Печать  
у меня только такой вариант получился:
Код
Выбрать все
select cast('20061219 17:31:18.000' as datetime) 


или так
Код
Выбрать все
DECLARE @P as VARCHAR(14)
SET @P = '20061219173118'
select cast(LEFT(@P,8) + ' ' + SUBSTRING(@P,9,2) + ':' + SUBSTRING(@P,11,2) + ':' + SUBSTRING(@P,13,2) + '.000' as datetime) 

  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: MSSQL varchar => datetime
Ответ #2 - 20. Декабря 2006 :: 04:34
Печать  
Можно проще
Код
Выбрать все
CONVERT(DateTime, '20061219', 104) 

  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MSSQL varchar => datetime
Ответ #3 - 20. Декабря 2006 :: 11:12
Печать  
ADirks писал(а) 20. Декабря 2006 :: 04:34:
Можно проще
Код
Выбрать все
CONVERT(DateTime, '20061219', 104) 



datetime мне надо полный, с секундами. DrAce правильно говорит, только через субстринги (а это дополнительная нагрузка на сервер), либо дату подсовывать в ISO формате Печаль
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать