Oracle如何获取sysdate的年月并转换为数字或字符格式?
Oracle获取指定月份YYYYMM格式值的解决方案
你原来的写法返回的是截断到当月首日的DATE类型数据,默认会显示年月日完整内容,无法直接得到年月拼接的格式,使用to_char做日期格式化即可解决:
上月值获取
- 字符格式输出(返回字符串类型,如
'202106'):
select to_char(add_months(sysdate, -1), 'YYYYMM') from dual;
- 数字格式输出(返回数值类型,如
202106):
select to_number(to_char(add_months(sysdate, -1), 'YYYYMM')) from dual;
当月值获取
如果需要查询当月的年月值,调整参数即可:
- 字符格式输出:
select to_char(sysdate, 'YYYYMM') from dual;
- 数字格式输出:
select to_number(to_char(sysdate, 'YYYYMM')) from dual;
格式符YYYYMM会自动为1-9月补前导零,完全符合你需要的拼接格式要求。
内容的提问来源于stack exchange,提问作者ezakuro
相关产品推荐
相关产品推荐

