[20240815]oracle 21c NLS_DATE_FORMAT设置问题(linux).txt --//完善整个这方面的测试,看看linux作为客户端的情况. 1.环境: SYS@192.168.56.101:1521/book> @ prxx ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 21.0.0.0.0 BANNER : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production BANNER_FULL : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 BANNER_LEGACY : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. 2.建立测试脚本: $ cat nls.sh #! /bin/bash export ORACLE_PATH= export SQLPATH= export NLS_DATE_FORMAT=""YYYY-MM-DD HH24:MI:SS"" export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_TIMESTAMP_FORMAT=""YYYY-MM-DD HH24:MI:SS.FF"" export NLS_TIMESTAMP_TZ_FORMAT=""YYYY-MM-DD HH24:MI:SS.FF TZH:TZM"" echo "select sysdate,systimestamp,localtimestamp from dual ;" | sqlplus -s -l system/bookbook@192.168.56.101:1521/book --//1个单引号或者1个双引号的情况就不做测试了. 3.测试(2个双引号): $ . nls.sh -bash: export: `HH24:MI:SS': not a valid identifier -bash: export: `HH24:MI:SS.FF': not a valid identifier -bash: export: `HH24:MI:SS.FF': not a valid identifier -bash: export: `TZH:TZM': not a valid identifier SYSDATE SYSTIMESTAMP ---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- 2024-08-15 2024-08-15 2024-08-15 $ echo $NLS_DATE_FORMAT YYYY-MM-DD --//相当于空格后面的字符串丢失了. --//注意标题还是消失. 4.测试(2个单引号号): $ cat nls.sh #! /bin/bash export ORACLE_PATH= export SQLPATH= export NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS'' export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_TIMESTAMP_FORMAT=''YYYY-MM-DD HH24:MI:SS.FF'' export NLS_TIMESTAMP_TZ_FORMAT=''YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'' echo 'select sysdate,systimestamp,localtimestamp from dual ;' | sqlplus -s -l system/bookbook@192.168.56.101:1521/book $ . nls.sh -bash: export: `HH24:MI:SS': not a valid identifier -bash: export: `HH24:MI:SS.FF': not a valid identifier -bash: export: `HH24:MI:SS.FF': not a valid identifier -bash: export: `TZH:TZM': not a valid identifier SYSDATE SYSTIMESTAMP ---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- 2024-08-15 2024-08-15 2024-08-15 $ echo $NLS_DATE_FORMAT YYYY-MM-DD --//相当于空格后面的字符串丢失了. 5.测试(如果要产生windows下2个单引号的效果): $ cat nls.sh #! /bin/bash export ORACLE_PATH= export SQLPATH= export NLS_DATE_FORMAT="''YYYY-MM-DD HH24:MI:SS''" export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_TIMESTAMP_FORMAT="''YYYY-MM-DD HH24:MI:SS.FF''" export NLS_TIMESTAMP_TZ_FORMAT="''YYYY-MM-DD HH24:MI:SS.FF TZH:TZM''" echo 'select sysdate,systimestamp,localtimestamp from dual ;' | sqlplus -s -l system/bookbook@192.168.56.101:1521/book $ . nls.sh SYSDATE SYSTIMESTAMP --------------------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- '2024-08-15 09:10:47' '2024-08-15 09:10:47.058265 +08:00' '2024-08-15 09:10:47.058266' 6.测试(如果要产生windows下2个双引号的效果): $ cat nls.sh #! /bin/bash export ORACLE_PATH= export SQLPATH= export NLS_DATE_FORMAT='""YYYY-MM-DD HH24:MI:SS'"" export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_TIMESTAMP_FORMAT='""YYYY-MM-DD HH24:MI:SS.FF'"" export NLS_TIMESTAMP_TZ_FORMAT='""YYYY-MM-DD HH24:MI:SS.FF TZH:TZM'"" echo 'select sysdate,systimestamp,localtimestamp from dual ;' | sqlplus -s -l system/bookbook@192.168.56.101:1521/book $ . nls.sh SYSDATE SYSTIMESTAMP ------------------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- 2024-08-15 09:12:36 2024-08-15 09:12:36.444169 +08:00 2024-08-15 09:12:36.444170 7.总结: --//测试完成,不再说明细节. --//注:标题问题,是set emb on导致,为什么我不知道,另外写blog说明该问题.
[20240815]oracle 21c NLS_DATE_FORMAT设置问题(linux).txt
来源:这里教程网
时间:2026-03-03 20:31:50
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 阿里财报透视:谁在投入?谁在收缩?
阿里财报透视:谁在投入?谁在收缩?
26-03-03 - 【YashanDB知识库】共享集群YAC换IP
【YashanDB知识库】共享集群YAC换IP
26-03-03 - 【YashanDB知识库】生成迁移报告失败,"报错未知类型错误异常:"
【YashanDB知识库】生成迁移报告失败,"报错未知类型错误异常:"
26-03-03 - 知行科技半年报显示商业化进展提速,下一个亮点在出海?
知行科技半年报显示商业化进展提速,下一个亮点在出海?
26-03-03 - 记一下insert卡顿排查
记一下insert卡顿排查
26-03-03 - 将普罗大众作为风向标,是中国旅游业最大的“战略正确”
将普罗大众作为风向标,是中国旅游业最大的“战略正确”
26-03-03 - Oracle数据库损坏,只剩两个文件,如何恢复数据?
Oracle数据库损坏,只剩两个文件,如何恢复数据?
26-03-03 - 老龄化点亮大健康之火,平安健康中长线投资性价比已浮现
老龄化点亮大健康之火,平安健康中长线投资性价比已浮现
26-03-03 - 【YashanDB数据库】Ubuntu系统加载Yashan C驱动后无法使用PHP
- 运维实战来了!如何构建适用于YashanDB的Prometheus Exporter
