【问题标题】:Converting Varchar(200) to YYYY-MM-DD format in Teradata SQL在 Teradata SQL 中将 Varchar(200) 转换为 YYYY-MM-DD 格式
【发布时间】:2020-02-03 02:42:00
【问题描述】:

我有一个像这样的 Varchar:

23FEB2025

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

1994-02-23 or YYYY-MM-DD

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

列中还有其他日期格式类似于12DEC65。 我现在开始假设没有简单的方法来转换它,所以我要求一些指导。我需要获取日期的子字符串并使用一堆选择案例语句吗?

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

【问题讨论】:

    标签: sql date substring teradata teradata-sql-assistant


    【解决方案1】:

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

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

    这将在 2025 年 2 月 23 日返回。

    【讨论】:

    • 感谢您纠正该错误!我从中得到的输出是 2/23/2025,如果我们没有得到相同的输出,我认为它可能是一个 teradata sqla 的东西。我想我只需要再次投射来颠倒顺序吗?
    • 在 SQL 助手中,更改日期格式 - 工具 > 选项 > 数据格式。
    猜你喜欢
    • 2018-01-08
    • 2014-12-31
    • 2020-01-29
    • 2012-03-05
    • 2018-03-16
    • 1970-01-01
    • 2018-02-24
    • 2019-03-24
    • 1970-01-01
    相关资源
    最近更新 更多