Oracle SQL 18C中如何获取mm/dd/yyyy和dd/mm/yyyy格式的前后日期
在Oracle SQL 18C中格式化过去/未来日期为指定格式
要将过去或未来的日期转换为dd/mm/yyyy或mm/dd/yyyy格式,核心是用TO_CHAR()函数格式化日期值,同时通过日期加减运算生成目标日期(过去/未来)。
1. 生成并格式化dd/mm/yyyy格式的日期
过去日期示例(30天前)
SELECT TO_CHAR(SYSDATE - 30, 'dd/mm/yyyy') AS past_date_ddmmyyyy FROM DUAL;
未来日期示例(10年后)
SELECT TO_CHAR(SYSDATE + INTERVAL '10' YEAR, 'dd/mm/yyyy') AS future_date_ddmmyyyy FROM DUAL;
2. 生成并格式化mm/dd/yyyy格式的日期
过去日期示例(1年前)
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'mm/dd/yyyy') AS past_date_mmddyyyy FROM DUAL;
未来日期示例(180天后)
SELECT TO_CHAR(SYSDATE + 180, 'mm/dd/yyyy') AS future_date_mmddyyyy FROM DUAL;
关键说明
TO_CHAR(date_value, format_mask):第一个参数为日期值(可通过SYSDATE加减运算得到过去/未来日期),第二个参数是指定的格式字符串。- 日期加减方法:
- 加减天数:直接使用
SYSDATE ± N(N为整数) - 加减月份/年份:使用
ADD_MONTHS(SYSDATE, ±N),或INTERVAL语法(如INTERVAL '5' MONTH)
- 加减天数:直接使用
- 格式符含义:
dd:两位数的日期mm:两位数的月份yyyy:四位数的年份
内容的提问来源于stack exchange,提问作者adityarajsahoo
相关产品推荐
相关产品推荐

