Конвертировать столбцы 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
Другие вопросы по тегам