oracle将DD-MON-YY转换为DD/MM/YYYY [英] oracle convert DD-MON-YY to DD/MM/YYYY
问题描述
我正在尝试将varchar2列的格式从" DD-MON-YY "转换为" DD/MM/YYYY ".
I am trying to convert the format of a varchar2 column from 'DD-MON-YY' to 'DD/MM/YYYY'.
例如:从" 01-JAN-16 "到" 2016年1月1日"
如果您可以提出要求或可能会有所帮助:
In case you can ask or it may help:
- "MON"部分是英语,但是我当前的NLS设置是土耳其语.
- 所有年份都在2000年以后.
我该怎么做? 预先感谢..
How can I do this? Thanks in advance..
推荐答案
如果不提供NLS_DATE_LANGUAGE
参数,则将使用您自己的会话参数.
If you don't provide the NLS_DATE_LANGUAGE
parameter, your own session's parameter will be used.
您可以像这样覆盖它:
select TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY', 'NLS_DATE_LANGUAGE = English'),
'DD/MM/YYYY') from dual;
这只会影响此查询,而不会影响其他查询.如果您需要处理许多这样的日期,
This will affect only this query, nothing else. If you need to work with many dates like this,
ALTER SESSION SET NLS_DATE_LANGUAGE='ENGLISH'
-然后您可以将其更改回原来的版本,否则当该会话结束并开始另一个会话时,它将重置为土耳其语.
- then you can change it back later, or it will reset to Turkish when this session ends and you start another session.
如果需要(几乎)永久性地进行此更改,请将其放在SQL Developer或Toad的设置中,或者将其放置在SQL * Plus的login.sql中.
If you need this change to be made (almost) permanent, put it in your settings in SQL Developer or Toad, or the login.sql for SQL*Plus.
这篇关于oracle将DD-MON-YY转换为DD/MM/YYYY的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!