djtahoma
@djtahoma
PHP Developer

Как вставить datetime в MSSQL?

Есть таблица с полем DateTime.

Запрос вида:
INSERT INTO test (created_at) VALUES ('2015-12-25T15:32:06.427');

работает.

А если значение указываю без T, то получаю ошибку:

INSERT INTO test (created_at) VALUES ('2015-12-25 15:32:06.427');

[S0003][242] Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона.


Почему так? И как заставить таблицу принимать значения в формате '2015-12-25 15:32:06.427'
  • Вопрос задан
  • 11564 просмотра
Решения вопроса 3
@res2001
Developer, ex-admin
Преобразовывайте дату/время в стандартный формат: 'yyyymmddhhmmss'
Для случая одной даты можно задавать: 'yyyymmdd'
В таком формате никогда не будет проблем с записью даты/времени.
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
Не надо заставлять базу. Или корректируйте входные данные или колдуйте с приведениями типов строк. Рекомендую разбираться с входными данными запроса.
Ответ написан
Комментировать
@nozzy
Symfony, Laravel, SQL
INSERT INTO test (created_at) VALUES (CAST('2015-12-25 15:32:06.427' AS DateTime));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы