【问题标题】:PostgreSQL Converting Two String Date Columns (Year,Month) to One Column (YYYY/MM/DD)PostgreSQL 将两个字符串日期列(年、月)转换为一列(YYYY/MM/DD)
【发布时间】:2019-05-18 23:57:57
【问题描述】:

我有一个带有 Month 属性和 Year 属性的 PostgreSQL 表。它们都被格式化为字符串......即:九月,十月,十一月,十二月和'2016','2017','2018'。如何将这些月份和年份列组合成一个日期列,其格式为 YYYY/MM/01,表示该月的第一天。

【问题讨论】:

    标签: postgresql date


    【解决方案1】:

    demo:db<>fiddle

    第一步:使用to_date()生成date:标识符Month检测长月份名称

    SELECT to_date(year || '-' || month || '-01', 'yyyy-Month-dd')
    

    第二步:使用to_char()生成您的预期日期格式

    SELECT 
        to_char(
            to_date(year || '-' || month || '-01', 'yyyy-Month-dd'),
            'yyyy/MM/dd'
        )
    FROM mydates
    

    Postgres date functions

    【讨论】:

    • Postgres 甚至不需要这里的一天:SELECT to_char(to_date(year||month, 'yyyyMonth'), 'yyyy/MM/dd') FROM mydates;
    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2018-05-19
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    相关资源
    最近更新 更多