临时修改session日期格式冲突问题

输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'

alter session set NLS_DATE_LANGUAGE = American 

这些命令虽然能够改变日期输出格式,但应该是只针对当前session的,当你再打开另一个session时,查看日期格式,还是没有改变。 


或者在to_date中写
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,
可查看
select * from nls_session_parameters
select * from V$NLS_PARAMETERS

修改NLS参数
    使用下列方法可以修改NLS参数
    (1)修改实例启动时使用的初始化参数文件
    (2)修改环境变量NLS_LANG
    (3)使用ALTER SESSION语句,在oracle会话中修改
    (4)使用某些SQL函数
    NLS作用优先级别:Sql function > alter session > 环境变量或注册表 > 参数文件 > 数据库默认参数

参考:

https://www.cnblogs.com/cphmvp/p/3321258.html

https://www.cnblogs.com/greatfish/p/6008301.html

https://www.cnblogs.com/rootq/articles/2049324.html

原文地址:https://www.cnblogs.com/zt007/p/14347174.html