Oracle获取本年,本月,下月,上月 第一天或最后一天日期
在Oracle中,获取本年、本月、下月、上月的第一天或最后一天的日期可以通过以下SQL语句实现:
-- 获取本年的第一天日期
SELECT TRUNC(SYSDATE, 'YEAR') AS start_of_year FROM dual;
-- 获取本年的最后一天日期
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'YEAR'), 12) - 1 AS end_of_year FROM dual;
-- 获取本月的第一天日期
SELECT TRUNC(SYSDATE, 'MONTH') AS start_of_month FROM dual;
-- 获取本月的最后一天日期
SELECT LAST_DAY(SYSDATE) AS end_of_month FROM dual;
-- 获取下月的第一天日期
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 1) AS start_of_next_month FROM dual;
-- 获取下月的最后一天日期
SELECT ADD_MONTHS(LAST_DAY(SYSDATE), 1) - 1 AS end_of_next_month FROM dual;
-- 获取上月的第一天日期
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), -1) AS start_of_last_month FROM dual;
-- 获取上月的最后一天日期
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) AS end_of_last_month FROM dual;
这些SQL语句使用了Oracle内置的函数TRUNC
, SYSDATE
, ADD_MONTHS
, 和 LAST_DAY
来计算日期。TRUNC
用于截取日期到指定的部分(年、月),SYSDATE
获取当前系统日期和时间,ADD_MONTHS
用于在指定日期上添加或减去指定的月数,而LAST_DAY
则用于获取指定日期所在月份的最后一天。
评论已关闭