【问题标题】:Concatenate Year and Month连接年份和月份
【发布时间】:2022-12-07 21:15:32
【问题描述】:

我有 2 个日期字段,surv_year (int) 和 surv_month (text)。

示例输出:

surv_year surv_month
2022      January
2022      August

无论如何连接 2 并将月份从文本更改为数字,并将我的最终输出为 YYYYMM,上面的示例显示 202201 和 202208?

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    您可以使用 to_date() 函数将这两个值转换为正确的日期:

    select to_date(concat(surv_month, ' ', surv_year), 'Month yyyy')
    from the_table
    

    将在该月的第一天返回 date

    可以使用 to_char() 函数将此日期格式化为您想要的格式:

    select to_char(to_date(concat(surv_month, ' ', surv_year), 'Month yyyy'), 'yyyymm')
    from the_table
    

    【讨论】:

    • 太好了,谢谢。我不认为这也可以转换为 INT 而不是 TO_CHAR 吗?
    • to_char(....)::int
    • 非常感谢你的帮助
    猜你喜欢
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 2016-07-31
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    相关资源
    最近更新 更多