【问题标题】:How to get month in string type from Date in SQL?如何从 SQL 中的日期获取字符串类型的月份?
【发布时间】:2021-10-24 06:23:58
【问题描述】:

这是我的 SQL 查询。

select orderDate from orders;

由此,我可以得到这样的输出

03-OCT-96

如何从 orderDate 中获取月份(如“OCT”)?

【问题讨论】:

  • 您的 orderDate 数据类型是什么?是 varchar 吗?

标签: mysql sql date


【解决方案1】:

试试这个:

select substring(cast(orderDate as string), 4, 7) as month from orders

【讨论】:

    【解决方案2】:

    也许正确的方法是首先使用STR_TO_DATE 将您的日期字符串转换为真正的日期,然后使用DATE_FORMAT 以您想要的任何格式提取月份字符串,例如

    SELECT DATE_FORMAT(STR_TO_DATE('03-OCT-96', '%d-%b-%Y'), '%M')
    -- October
    

    请注意,以%d-%b-%Y 格式将日期存储为文本 通常是不好的做法。考虑使用正式的日期列,以避免使用STR_TO_DATE 进行昂贵的转换。

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2020-12-19
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2021-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多