PostgreSQL将两个字符串日期列(年,月)转换为一列(YYYY / MM / DD)

时间:2018-12-18 14:27:55

标签: postgresql date

我有一个具有Month属性和Year属性的PostgreSQL表。它们都被格式化为字符串...,即:9月,10月,11月,12月和'2016','2017','2018'。如何将这些月份和年份列合并为格式为YYYY / MM / 01的“日期”列,以指示该月的第一天。

1 个答案:

答案 0 :(得分:2)

demo:db<>fiddle

第一步:使用date生成to_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