Apache Drill查询:如何筛选早于6个月的数据?
Apache Drill 筛选早于6个月数据的正确查询写法
针对你的需求,你可以利用Apache Drill的日期函数实现筛选,以下是两种常见场景的写法:
场景1:VALUATION_DATE是日期类型
直接用DATE_SUB函数计算当前日期往前6个月的日期,再做比较:
SELECT * FROM `dfs`.`data`.`./bp2s/nt/raw/20220909/16_09_34_1665670176715.NTFF04_FFMA_20220909_Positions_20220909181421268120.txt.parquet` WHERE VALUATION_DATE < DATE_SUB(CURRENT_DATE, INTERVAL '6' MONTH)
场景2:VALUATION_DATE是字符串类型
如果字段是字符串格式(比如'2022-09-09'或'20220909'),需要先用TO_DATE函数转换为日期类型再比较:
-- 假设字符串格式为'yyyy-MM-dd' SELECT * FROM `dfs`.`data`.`./bp2s/nt/raw/20220909/16_09_34_1665670176715.NTFF04_FFMA_20220909_Positions_20220909181421268120.txt.parquet` WHERE TO_DATE(VALUATION_DATE, 'yyyy-MM-dd') < DATE_SUB(CURRENT_DATE, INTERVAL '6' MONTH)
如果字符串是'20220909'这种无分隔符格式,把TO_DATE的第二个参数改成'yyyyMMdd'即可。
核心说明
CURRENT_DATE:获取当前系统日期DATE_SUB(CURRENT_DATE, INTERVAL '6' MONTH):计算当前日期往前推6个月的日期- 用
<运算符筛选出早于该日期的记录
内容的提问来源于stack exchange,提问作者Student
相关产品推荐
相关产品推荐

