gpt4 book ai didi

sql - 在 PostgreSQL 中,选择会计年度月份格式作为日期列

转载 作者:行者123 更新时间:2023-11-29 14:25:44 25 4
gpt4 key购买 nike

我有一个 Postgres 数据库,其中有一个事件发生月份的列。它被格式化为 TEXT 列类型,并且在月份名称之前有财政年度,如下所示:

fiscal
-------
20-Jul
20-Aug
20-Jan
20-Apr
20-Feb

假设本例中的财政始于 2019 年 4 月(指的是 2019-2020 财政年度),选择查询如何将其显示为 DATE 列类型? (假设只使用该月的第一天作为日期)

像下面这样

fiscal    real_date
--------------------
20-Jul 2019-Jul-1
20-Aug 2019-Aug-1
20-Jan 2020-Jan-1
20-Apr 2019-Apr-1
20-Feb 2020-Feb-1

最佳答案

我认为这实现了你想要的逻辑:

select (case when extract(month from to_date(substr(fm, 4, 3), 'MON')) >= 4
then to_date('20' || fm, 'YYYY-MON')
else to_date('20' || fm, 'YYYY-MON') + interval '1 year'
end)
from (values ('20-JUL'), ('19-FEB')) v(fm);

Postgres 恰好允许您将月份转换为日期。您可以及时获得值(value)。但我认为没有任何问题,因为目的只是将字符串转换为数字。

关于sql - 在 PostgreSQL 中,选择会计年度月份格式作为日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58225426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com