Я пытаюсь преобразовать числовой столбец со следующим определенным форматом: DDMMYYYY
в datetime в базе данных mssql.SSIS Преобразование numeric в datetime
Что я пытался сделать с помощью «столбца вывода».
Моя идея состояла в том, чтобы получить год, месяц и день часть в виде строк, объединить их и конвертировать их в DT_DBTIMESTAMP со следующим кодом:
(DT_DBTIMESTAMP)(SUBSTRING((DT_WSTR,8)[field],5,4) + "-" + SUBSTRING((DT_WSTR,8)[field],3,2) + "-" + SUBSTRING((DT_WSTR,8)[field],1,2))
Я также пытался сделать это с DT_DBDATE
но Бесполезный Не работай.
Столбец моей таблицы выглядит следующим образом: [GebDat] datetime
У вас есть какие-либо идеи, как я могу добиться этого результата? Или, может быть, дайте мне подсказку, что я делал неправильно в вышеупомянутом подходе?
Заранее спасибо
Что делает вывод вашего преобразования выглядят? И ваша база данных ожидает, что дата будет YYYY-MM-DD? – Andrew
Эй, Эндрю. Я не совсем уверен, что вы подразумеваете под выводом .. В окнах прогресса я получаю следующее сообщение: '[Родственные генерации столбцов [397]] Ошибка: при попытке выполнить литье типов произошла ошибка.' cast-error возникает при нажатии на (DT_DBTIMESTAMP), поэтому приведение в поле DT_WSTR работает ... И да, база данных ожидает, что дата будет YYYY-MM-DD – xeraphim
Получаете ли вы ту же ошибку при преобразовании в ' DT_DBDATE'? Полагаю, у вас есть некоторые значения, которые нельзя правильно преобразовать в дату. – Andrew