plsqldev 日期格式

2022-08-25 14:10:44 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

之前装 win7 oracle 11 R2 (64) instantclient_11_2 (32) PLSQL(32) 费了很大力气,见前一个帖子,后果就是plsql启动时读的环境变量位置是五花八门,可能是注册表中oraclehone下的,也可能是instantclient下的或者是电脑高级属性中环境变量,当然start.bat中的设置优先。

plsql中执行以下语句,查看日期格式

SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = ‘NLS_TIMESTAMP_FORMAT’;

四处扒帖子,帖子一:

找到注册表:

[HKEY_LOCAL_MACHINESOFTWAREORACLEoraclehome]

“NLS_TIMESTAMP_FORMAT”=”YYYY-MM-DD HH24:MI:SS:FF6”

在注册表中设置Oracle环境变量的地方(也就是设置ORACLE_HOME的地方)设置NLS_TIMESTAMP_FORMAT的格式(也就是创建这样一个字符串项,然后设置它的值为你、转换需要的掩码,我一般设置为YYYY-MM-DD HH24:MI:SS:FF6),然后关掉PL/SQL DEVELOPER,重新登录,如果没有效果,重启电脑。

结果—-改完后oracle抽风似的的把服务停止了,居然还无法启动

帖子二:

第一步在pl/sql developer中找菜单Tools 选Preferences—NLS Options选项,在右侧选择Windows format选项,保存。

第二步更新系统的环境变量,右键我的电脑选“属性”,选“高级”页,点环境变量,在系统变量中新建,变量名:nls_date_format 变量值 YYYY-MM-DD HH24:MI:SS 保存退出。

结果 — 就是没有任何效果,后来尝试把这个变量写道start.bat中,仍然无效,最后发现问题在哪里了,囧了个囧啊,我要改的是”NLS_ TIMESTAMP_FORMAT“ 而不是”nls_ date_format“ 添加环境 NLS_ TIMESTAMP _FORMAT,指设为 YYYY-MM-DD HH24:MI:SS:FF6,搞定。

帖子三:

修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式

1.可以在用户环境变量中指定(LINUX)。

在用户的.bash_profile中增加两句:

export NLS_LANG=AMERICAN ---要注意这一句必须指定,不然下一句不生效。

export NLS_DATE_FORMAT= 'yyyy/mm/dd hh24:mi:ss'

2.在SQLPLUS的glogin.sql文件增加一句:

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss' ;

3.直接修改当前会话的日期格式 :

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss' ;

4.修改数据库的参数,需要重启数据库后生效

SQL> alter system set nls_date_format= 'yyyy-mm-dd hh24:mi:ss' scope=spfile;

等我有时间慢慢验证

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142627.html原文链接:https://javaforall.cn

0 人点赞