Я использую SQL Server 2012 Express. База данных имеет таблицу [config] с членом типа 'datetime'. Экспорт его (только данных) с помощью Management Studio в виде сценария SQL генерирует:MS SQL Server 2012 экспортирует datetime как скрипт, который он не может импортировать
INSERT [dbo]. [Config] ([id], [name], [creation_date], ...) VALUES (13, N'Test ', CAST (N'2014-11-17 09: 29: 07.047' AS DateTime), ...)
Теперь при выполнении сгенерированного скрипта он жалуется, что значение типа datetime недопустимо. Я могу вручную исправить это, заменив пробел между датой и временем на «Т»:
INSERT [dbo]. [Config] ([id], [name], [creation_date], ...) VALUES (13, N'Test», CAST (N'2014-11-17 T 09: 29: 07,047' AS DateTime), ...)
Глядя в docmentation из DateTime, формат с использованием пустой, кажется, не поддерживается.
Как я могу сгенерировать скрипты с поддерживаемым форматом datetime (т. Е. Включая «T»)?
Как импортировать формат, который использует пробел без изменения импортированного сценария?
BTW, похоже, что он работает с другими установками SQL Server, но я не могу найти разницы. Также удалить и переустановить SQL Server не помогло.
Какие типы форматирования даты и времени используются с помощью региональных настроек в Windows на сервере. Возможно, другие установки SQL Server (на других серверах) имеют другие региональные настройки. –
Теперь это исправлено в SQL Server 2014, но для SQL Server 2012 вам понадобится строка Mikael предлагает –