> 文章列表 > 【Oarcle】如何显示日本年号的日期格式 ?

【Oarcle】如何显示日本年号的日期格式 ?

【Oarcle】如何显示日本年号的日期格式 ?

语句大于一切,还需要语言吗?
1.

SELECT TO_CHAR(SYSDATE,'EEYY/MM/DD','NLS_CALENDAR = ''JAPANESE IMPERIAL''') from dual;

结果是
令和05/02/25

Oracle SQL文中,年月日的显示,一定要使用双引号括起来,如

select to_char(sysdate, 'EEyy"年"mm"月"dd"日"','NLS_CALENDAR = ''JAPANESE IMPERIAL''') from dual;

结果是:
令和05年02月25日

Oracle中的 last_day, 是这个月的最后一天

select to_char(last_day(sysdate), 'yyyy"年"mm"月"dd"日"') from dual;

结果是:
2023年02月28日

然而, next_day  是下一周的某一天,比如下周四呢

select to_char(next_day(sysdate, 5), 'yyyy"年"mm"月"dd"日"') from dual;

结果是:
2023年03月02日

※Oracle 是从sunday开始计算的,所以 next_day 的第二个参数是: 5

select to_char(next_day(sysdate, '木曜日'), 'yyyy"年"mm"月"dd"日"') from dual;

结果也是:
2023年03月02日

数字转换中有两个注意。

人民币符号显示

select to_char(12345678.567, 'L999,999,999,999.90') from dual;

结果是:
¥12,345,678.57
小数点将自动四舍五入,因为格式指定了两位小数。 Oracle在存储中,同样会自动四舍五入。

  1. 如果对自动转换中的左边的空格不满意,可以利用“FM”格式去除。
select to_char(12345678.567, 'fmL999,999,999,999.90') from dual;

结果是:
¥12,345,678.57