我正在尝试从' DD-MON-YY '转换varchar2列的格式到' DD / MM / YYYY '。
例如:来自' 01-JAN-16 '到' 01/01/2016 '
如果您可以提出或可能有所帮助:
我该怎么做? 提前谢谢..
答案 0 :(得分:10)
如果您未提供NLS_DATE_LANGUAGE
参数,则会使用您自己的会话参数。
您可以像这样覆盖:
select TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY', 'NLS_DATE_LANGUAGE = English'),
'DD/MM/YYYY') from dual;
这只会影响此查询,没有别的。如果您需要使用这样的许多日期,
ALTER SESSION SET NLS_DATE_LANGUAGE='ENGLISH'
- 然后您可以稍后将其更改回来,或者当此会话结束并重新启动另一个会话时它将重置为土耳其语。
如果您需要将此更改(几乎)永久化,请将其放在SQL Developer或Toad的设置中,或者放在SQL * Plus的login.sql中。
答案 1 :(得分:3)
试试这个:
TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY'),'DD/MM/YYYY')
您的数据必须干净 - 一切都必须符合原始格式,否则您将在TO_DATE转换时遇到错误。
答案 2 :(得分:0)
转到工具->首选项->数据库-> NLS->日期格式,然后将日期更改为DD / MM / YYYY。
Oracle SQL Developer版本18.4.0.376 Build 376.1900