2013-08-12 5 views
0

У меня есть текстовые данные для импорта в SQL Server и даты форматируются:SQL Дата сервера вставки

'Jul 14 2005 12: 00: 00: 000AM'

Есть ли способ, что SQL Server будет импортировать их напрямую или мне нужно написать код для перевода данных в формат «M/D/Y»?

+1

Импорт откуда? И если пунктом назначения является столбец даты или даты, * STOP * мышление о * формате *. SQL Server хранит значения datetime как числа, а не как строки 'm/d/y'. –

+0

Формат даты в формате SQL, насколько мне известно, это «ГГГГ-ММ-ДД» – dougajmcdonald

ответ

1

Если вы используете стандартные функции импорта, вы можете настроить сопоставление импорта, но я бы просто импортировал данные в таблицы хранения «как есть», а затем скопировал в конечную таблицу, выполнив ваше преобразование в это время.

Это работает отлично

select CONVERT(DATETIME,'Jul 14 2005 12:00:00:000AM') 
2

Я не знаю, где источник или как вы импортируете, но вы можете преобразовать их, используя стиль # 9 (предполагая, что система всегда будет иметь английские региональные настройки США и пользователи не будут иметь разные SET LANGUAGE настройки):

SELECT CONVERT(DATE, 'Jul 14 2005 12:00:00:000AM', 9); 

в противном случае, импортировать их в промежуточную таблицу с этими значениями в виде строк, а затем INSERT/SELECT с обращенным.

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