有人知道如何将字符串"22AB1113"更改为日期吗?理想情况下,我希望该字符串的输出为"2022 - 11 - 13"。
另一个例子:对于字符串'22AB0204',我实际上希望它有'2023 - 02 - 04'作为输出,而不是'2022 - 02 - 04'。字符串适用于2023年,而不是2022年。
非常感谢大家的帮助!
with fq as (
select
distinct(replace(bc.sale_name,'22AB','')) as "Date",
sum(bc.num_beds) as "Number of Beds"
from bed_count bc
where (sale_name ilike '%22AB%')
group by 1
order by "Date"
)
select
case
when fq."Date"::int >= 500 then concat('2022-',fq."Date"::int)
when fq."Date" NOT ILIKE '0%' then concat('2022-',fq."Date")
else concat('2023-',fq."Date")
end as "Date",
fq."Number of Beds"
from fq
1条答案
按热度按时间ulydmbyx1#
使用
format
和case
应简单。您可能还希望将日期文本转换为正确的
date
。