ORACLE日期函数:取上月末/月初/季末/季初/年末/年初...
在Oracle数据库中,可以使用内置的日期函数来获取上月初、上月末、上季初、上季末、上年初和上年末等日期。以下是一些示例代码:
-- 上月初
SELECT TRUNC(ADD_MONTHS(SYSDATE, -1), 'MM') AS LAST_MONTH_START FROM DUAL;
-- 上月末
SELECT TRUNC(ADD_MONTHS(SYSDATE, -1), 'MM') + INTERVAL '1' MONTH - INTERVAL '1' DAY AS LAST_MONTH_END FROM DUAL;
-- 上季初
SELECT TRUNC(SYSDATE, 'Q') - INTERVAL '1' QUARTER AS LAST_QUARTER_START FROM DUAL;
-- 上季末
SELECT TRUNC(SYSDATE, 'Q') - INTERVAL '1' DAY AS LAST_QUARTER_END FROM DUAL;
-- 上年初
SELECT TRUNC(SYSDATE, 'YEAR') - INTERVAL '1' YEAR AS LAST_YEAR_START FROM DUAL;
-- 上年末
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), 12) - INTERVAL '1' DAY AS LAST_YEAR_END FROM DUAL;
这些代码片段使用了TRUNC
、ADD_MONTHS
等函数来计算上月初、上月末、上季初、上季末、上年初和上年末的日期。SYSDATE
是Oracle中获取当前日期和时间的函数。DUAL
是Oracle中的一个虚拟表,可以用于不需要从特定表中选择数据的查询。
评论已关闭