我需要格式化一个字符串 ot 日期,包括缩写字符串。我试过:
to_date('Fri Jul 24', 'DY MON DD')
它不起作用,我认为这是因为我的 oracle NLS 参数设置为法语我不知道为什么:
SELECT * FROM V$NLS_PARAMETERS
----------------------
NLS_LANGUAGE FRENCH
NLS_TERRITORY FRANCE
NLS_CURRENCY €
NLS_ISO_CURRENCY FRANCE
NLS_NUMERIC_CHARACTERS ,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE FRENCH
NLS_CHARACTERSET AL32UTF8
NLS_SORT FRENCH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY €
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
所以当然我测试了法语转换:
to_date('Vendredi Juillet 24', 'DAY MONTH DD')
这行得通。然后我尝试了缩写版本:
to_date('Ven Jui 24', 'DY MON DD')
这不起作用。
无论如何,我对英语转换很感兴趣,所以我应该先将我的 NLS 从法语切换到英语。我怎么做?我按照以下链接中的步骤操作:http: //docs.oracle.com/cd/E12102_01/books/AnyInstAdm784/AnyInstAdmPreInstall18.html,但没有任何成功。任何想法?