Bigquery 根据上一年日期条件替换列中的值

没有

我需要帮助在 bigquery 中编写 SQL 逻辑以根据以下条件替换一列中的值

财政年度 --> 7 月至 6 月

我怎样才能让它更有活力,以便明年滚动

Condition --> If version = "ACT" an  DATE is not current year i.e 07-2020 to 06-2021 then replace ACT with ACTA

当前的:

版本 日期
行为 202104
行为 202101
行为 202006
行为 202001
行为 202007
行为 201903
行为 202008
柏油 202104
柏油 202101
柏油 202006
柏油 202001
柏油 202007
柏油 201903
柏油 202008

所需输出:

版本 日期
行为 202104
行为 202101
行为 202006
ACTA 202001
行为 202007
ACTA 201903
行为 202008
柏油 202104
柏油 202101
柏油 202006
柏油 202001
柏油 202007
柏油 201903
柏油 202008
戈登·利诺夫

如果 version = "ACT" 日期不是当前年份,即 07-2020 到 06-2021 然后用 ACTA 替换 ACT

你想要一个case表达式:

select (case when version = 'ACT' and
                  extract(year from date_add(date, interval 6 month)) = extract(year from date_add(current_date, interval 6 month))
             then 'ACTA'
             else version
        end)

逻辑是添加六个月并提取年份以获得财政年度。对当前日期执行相同操作。如果这些相同,则该date列位于当前会计年度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章