Конвертировать столбцы MDDYYYY и MMDDYYYY в MM-DD-YYYY в Oracle SQL
Я использовал SELECT TO_DATE(INC_DATE, 'MMDDYYYY') FROM BASICINCIDENT2010;
но поскольку не все даты в inc_date имеют одинаковый формат. Это вызывает ошибку месяца не найден.
1 ответ
Решение
Вам нужно будет использовать CASE
заявление, чтобы декодировать строки даты по-разному. Что-то вроде следующего:
CASE
WHEN LENGTH(inc_date) = 7 THEN TO_DATE(inc_date, 'MDDYYYY')
WHEN LENGTH(inc_date) = 8 THEN TO_DATE(inc_date, 'MMDDYYYY')
ELSE TO_DATE(inc_date, 'MM-DD-YYYY')
END AS fixed_date