oracle将DD-MON-YY转换为DD/MM/YYYY

kzm*_*yrk 5 oracle date varchar2

我试图将varchar2列的格式从' DD-MON-YY '转换为' DD/MM/YYYY '.

在例如:从' 01-JAN-16 '到' 2016年1月1日 '

如果您可以询问或可能有所帮助:

  • 'MON'部分是英文,但我目前的NLS设置是土耳其语.
  • 所有这些年都是在2000年之后.

我怎样才能做到这一点?提前致谢..

mat*_*guy 12

如果您不提供NLS_DATE_LANGUAGE参数,将使用您自己的会话参数.

您可以像这样覆盖:

select TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY', 'NLS_DATE_LANGUAGE = English'),
           'DD/MM/YYYY') from dual;
Run Code Online (Sandbox Code Playgroud)

这只会影响此查询,没有别的.如果您需要使用这样的许多日期,

ALTER SESSION SET NLS_DATE_LANGUAGE='ENGLISH'
Run Code Online (Sandbox Code Playgroud)

- 然后您可以稍后更改它,或者当此会话结束时您将重置为土耳其语并开始另一个会话.

如果您需要将此更改(几乎)永久化,请将其放在SQL Developer或Toad的设置中,或者放在SQL*Plus的login.sql中.

  • 如果可以的话,我会给你多一票!多谢 (2认同)