SQL-Server - преобразование даты - PullRequest
0 голосов
/ 05 апреля 2011

У меня есть поле даты, сохраненное в формате 16/08/2010 17:17

Я пытаюсь сохранить это как дату и время, чтобы я мог преобразовать его.

Проблема в том, что я получаюошибки диапазона, когда я делаю.Как я могу решить эту проблему?

Мои запросы:

CAST(agreement_Date AS Datetime)
CONVERT(varchar,agreement_date,126)

Ошибка:

Преобразованиетипа данных varchar к типу данных datetime привел к значению вне допустимого диапазона.

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Вместо CAST используйте:

CONVERT(datetime, agreement_Date, 103)

103 задает dd/mm/yy преобразование, которое, как мне кажется, является вашей проблемой.SQL Server сначала ищет месяц, что приводит к исключению за пределы допустимого диапазона.

1 голос
/ 05 апреля 2011

Попробуйте CONVERT со стилем 103: http://msdn.microsoft.com/en-us/library/ms187928.aspx

SELECT CONVERT(datetime,'16/08/2010 17:17',103)

-> 2010-08-16 17: 17: 00.000

@ Edit: неверный аргумент стиля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...