我想使用postgresSQL
创建格式为YYYY-MM
的日期
月份应始终为两位数
例如,如果是2020年8月,则结果应为2020-08而不是2020-8
因此,我尝试使用CASE
语句在8
前面添加0
,如下所示:
DB Fiddle
SELECT
(CASE WHEN DATE_PART('month', date '2020-08-01 00:00:00') <10
THEN CONCAT('0',DATE_PART('month', date '2020-08-01 00:00:00'))
ELSE 1 END) AS year_month_value
然而,通过此查询,我得到错误:
ERROR: CASE types integer and text cannot be matched
LINE 3: THEN CONCAT('0',DATE_PART('month', date '2020-08-01 00:00:00...
我不知道我需要如何修改查询才能使其工作
你知道吗?
使用to_char()
:
常规
select to_char(dateval, 'YYYY-MM')
示例DB Fiddle
SELECT to_char(date '2020-08-01 00:00:00','YYYY-MM')