Преобразование строки в DATETIME в SQL Server - PullRequest
1 голос
/ 15 марта 2012

Мне нужно преобразовать строку в datetime.Мне нужно хранить datetime с миллисекундами в SQL Server 2005.

пример:

SELECT CAST('2010-07-28 20:07:25.733000000' AS DATETIME)

, когда я пытаюсь получить ошибку типа

Преобразование не удалосьпри преобразовании даты и времени из строки символов

Ответы [ 3 ]

3 голосов
/ 15 марта 2012

Вам нужно будет усечь.

SELECT CONVERT(DATETIME, CONVERT(CHAR(23), '2010-07-28 20:07:25.733000000'));
2 голосов
/ 15 марта 2012

(с округлением) диапазон миллисекунд составляет 0-999 при DATETIME, для большей точности используйте DATETIME2, если вы используете SQL2K8.

1 голос
/ 15 марта 2012

Если вы удалите последние 0: с в миллисекундах, это будет работать:

SELECT CAST('2010-07-28 20:07:25:733' AS DATETIME)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...