Клиентский сайт предоставил нам следующий файл экстента для загрузки в нашу базу данных.Oracle SQL loader - загрузка несогласованных форматов даты в том же столбце
Проблема в том, что для некоторых строк (например, вторая строка) CREATED_DATE и LAST_UPDATE_DATE находятся в формате даты «dd Mmm YYYY ...», когда остальные строки (например, верхние) находятся в формате из "YYYY-MM-DD HH24.MI.SSXFF"
PRIMARY_ID ID VALUE CREATED_DATE LAST_UPDATE_DATE
20166267 20834830491 2012-04-30 08:18:00 2012-04-30 08:18:00
20166536 9112 01 Oct 2010 17:27:04 01 Oct 2010 17:27:04
Мои вопросы: Q1. Чтобы избежать необходимости запрашивать экстракт, можно ли манипулировать этими датами «dd Mmm YYYY ...» во время импорта в SQL Loader с использованием сценария .ctl? В настоящее время мой .ctl является
Мой файл .ctl является сценарий для импорта с помощью:
IDENTIFIER_START_DATE TIMESTAMP "YYYY-MM-DD HH24.MI.SSXFF",
LAST_UPDATE_DATE TIMESTAMP "YYYY-MM-DD HH24.MI.SSXFF"
Q2. Просто спрашивает их о повторном извлечении со всеми форматами дат в соответствии с лучшей практикой в таких ситуациях?
Вы можете загрузить в промежуточную таблицу как столбцы varchar и преобразовать оттуда (или использовать внешнюю таблицу). Не уверен, что вы можете многое сделать в .ctl. Меня беспокоят менее очевидные проблемы в других столбцах или даже - хотя это не похоже на проблему из образца - путаница между мм/дд и дд/мм, что может привести к тонкому повреждению или сбоям. Я не думаю, что неразумно ожидать разумные данные. Разумность не всегда приходит к нему, конечно ... –