2012-01-04 3 views
0

, если я пытаюсь бросить строки даты, чтобы DATETIME как select cast('12/01/2010' as datetime) затем работаетдаты и времени вопрос преобразования в SQL сервере

но если я пытаюсь бросить как select cast('22/01/2010' as datetime), то он дает ошибку.

снова, если я пытаюсь бросить дату строки в дату, как select cast('2010/12/01' as datetime), то он работает но если я пытаюсь бросить как select cast('2010/25/01' as datetime), то он дает ошибку. мое требование - любой способ ввода даты пользователя, который должен быть успешно преобразован в дату и время. пожалуйста, скажите мне лучшее решение

ответ

1

В вашем случае сервер SQL предполагает, что формат даты идентификатор мм/дд/гггг - американский формат,

вы хотите использовать французский формат, так что используйте конвертировать

select CONVERT(DATETIME, '12/01/2010', 103) 

вместо этого вы получите сообщение об ошибке, потому что не в таком номере месяца - 22

лучшим решением при прохождении DateTime в виде строки - использовать короткий (без часового пояса) формат ISO:

yyyyMMdd HH:mm:ss.ffff 
1

Я рекомендую использовать фиксированный '20111231' формат. Вам не нужно использовать команду cast, convert или подобную команду.

Смежные вопросы