在 Teradata 中将 Varchar(200) 转换为 YYYY-MM-DD 格式 SQL

Converting Varchar(200) to YYYY-MM-DD format in Teradata SQL

我有一个像这样的 Varchar:

23FEB2025

我正在尝试将其转换成如下格式:

1994-02-23 or YYYY-MM-DD

我试过select cast ('23FEB2025' as date format 'yyyy-mm-dd');sel convert(date,'23FEB2025')

该列中还有其他格式如 12DEC65 的日期。 我现在开始假设没有简单的方法来转换它,所以我需要一些指导。我是否需要获取日期的子字符串并使用一堆 select case 语句?

我本来希望找到一种捷径来做到这一点,但似乎没有。我在这里读到,将日期存储为字符串是个坏主意,我现在完全同意这个想法。 感谢您的任何帮助或建议!

投射日期的格式部分是输入格式。输出格式基于您的语言环境和日期设置。在你的情况下,你想要这个:

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

哪个 return 2025-02-23.