SQL 常用日期函數-基于impala 引擎
當前日期(YYYY-MM-DD)
SELECT CURRENT_DATE(); -- 2024-06-30
昨天
SELECT CURRENT_DATE(); -- 2024-06-30
SELECT CAST( DAYS_ADD(TO_DATE( CURRENT_DATE() ), -1 ) AS VARCHAR(10) ); -- 2024-06-29
SELECT CAST( DAYS_SUB(TO_DATE( CURRENT_DATE() ), 1 ) AS VARCHAR(10) ); -- 2024-06-29對于DAYS_ADD(),DAYS_SUB() 函數用法下面不重復列舉。
DATE_ADD(),DAYS_ADD() 都是實現減少增加指定天數。
上月末
SELECT CURRENT_DATE(); -- 2024-06-30
SELECT CAST( LAST_DAY( ADD_MONTHS(TO_DATE( CURRENT_DATE() ), -1 ) ) AS VARCHAR(10) ); -- 2024-05-31
上季末
SELECT CURRENT_DATE(); -- 2024-06-30
SELECT CAST( DATE_ADD( TRUNC( TO_DATE( CURRENT_DATE() ), 'Q' ), -1 ) AS VARCHAR(10) ); -- 2024-03-31
上年末
SELECT CURRENT_DATE(); -- 2024-06-30
SELECT CAST( DATE_ADD( TRUNC( TO_DATE( CURRENT_DATE() ), 'YEAR'), -1 ) AS VARCHAR(10) ) ; -- 2023-12-31
去年同期
SELECT CURRENT_DATE(); -- 2024-06-30
SELECT CAST( TO_DATE( YEARS_ADD( TO_DATE( CURRENT_DATE() ), -1 ) ) AS VARCHAR(10) ); -- 2023-06-30
再次提醒,示例中所用函數為impala引擎所支持,對于其他數據庫不支持的函數可根據思路選用其他函數實現。
–end-------------------------------------------------------------------------