Oracle SQL Developer法语日期格式?

时间:2014-02-25 06:49:43

标签: sql oracle-sqldeveloper

我正在使用Oracle SQL Developer,我想要一个法语格式的日期,如: 31-DÉC-14

我试过了:

ALTER SESSION SET NLS_LANGUAGE = 'FRENCH'; 
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YY';

在此之后,当我在表格中插入日期值时,它显示如下:

31-DÉC. -14

有人可以告诉我原因吗?

1 个答案:

答案 0 :(得分:1)

select to_char(add_months(TRUNC(sysdate,'YYYY'),level),'DD-MON-YY') as withoutFM, 
       to_char(add_months(TRUNC(sysdate,'YYYY'),level),'FMDD-MON-YY') as withFM
from dual
connect by level <=12

<强>结果:

WITHOUTFM   WITHFM
01-FÉVR.-14 1-FÉVR.-14
01-MARS -14 1-MARS-14
01-AVR. -14 1-AVR.-14
01-MAI -14  1-MAI-14
01-JUIN -14 1-JUIN-14
01-JUIL.-14 1-JUIL.-14
01-AOÛT -14 1-AOÛT-14
01-SEPT.-14 1-SEPT.-14
01-OCT. -14 1-OCT.-14
01-NOV. -14 1-NOV.-14
01-DÉC. -14 1-DÉC.-14
01-JANV.-15 1-JANV.-15

月份的最大为5个字符(例如:FÉVR。)。因此,在打印时,为了保持固定格式,Oracle会将空间加载到小于最大可能长度的空间

因此,在您的情况下,在追加空格后,DÉC.会转换为DÉC.

FM(格式掩码)添加到日期格式会消除它!