Преобразование Varchar (200) в формат ГГГГ-ММ-ДД в Teradata SQL - PullRequest
0 голосов
/ 04 октября 2019

У меня есть Varchar, подобный так:

23FEB2025

Я пытаюсь преобразовать его в формат, подобный:

1994-02-23 or YYYY-MM-DD

Я пробовал select cast ('23FEB2025' as date format 'yyyy-mm-dd'); и sel convert(date,'23FEB2025')

В столбце есть другие даты, отформатированные как 12DEC65. Сейчас я начинаю предполагать, что не существует простого способа преобразовать это, поэтому я прошу небольшое руководство. Нужно ли мне брать подстроки даты и использовать несколько операторов выбора регистра?

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

1 Ответ

0 голосов
/ 04 октября 2019

Форматируемая часть преобразования даты является форматом ввода. Формат вывода основан на вашей локали и настройках даты. В вашем случае вы хотите это:

select
cast ('23FEB2025' as date format 'ddMMMYYYY')

, который вернет 2025-02-23.

...