OPENROWSET не может конвертировать дату и время из текстового файла

У меня есть плоский файл, который создается с помощью служб SSIS. плоский файл хранит все значения для даты и времени в следующем формате

2001-02-14 09:46:48.123000000

когда я пытаюсь использовать плоский файл, сгенерированный из служб SSIS, чтобы загрузить данные из плоского файла на сервер SQL с помощью "OPENROWSET". это выдает ошибку

Не удалось преобразовать имя столбца (с типом данных datetime)

Любое предложение, как это исправить?

схема источника, из которого генерируется плоский файл, и схема назначения, куда загружаются данные из плоского файла. но все еще не в состоянии загрузить данные.

1 ответ

Решение

Просто обрежьте конечные нули:

select cast( '2001-02-14 09:46:48.123000000' as datetime)-- error
select cast( '2001-02-14 09:46:48.123' as datetime)-- ok
select cast( '2001-02-14 09:46:48' as datetime) -- ok
select cast( left('2001-02-14 09:46:48.123000000', 23) as datetime) -- ok
Другие вопросы по тегам