flink版本1.18
场景如下:
A表字段:
id,update_time(date格式)
一条数据:
1,2023-01-12



现在我需要保留update_time+1年,大于当前日。


简单地写一个sql:
select 
id,update_time
from A
where TIMESTAMPADD(YEAR,1,update_time) > CURRENT_DATE;


结果:
在2024年1月11日这一天,where条件达成,这条数据不会被过滤掉;
在2024年1月12日,sql并不会触发计算来过滤掉此条数据。


在真实的场景中,update_time跨度很多年,且部分数据需要+1年,部分数据不用加,判断条件精确到日期,还有部分数据需要+3年,判断条件只用精确到年。
我该怎么做才能实时地根据CURRENT_DATE来触发过滤的计算呢?


辛苦各位大佬。
| |
张河川
|
|
milesian...@163.com
|

回复