king

如何查询oracle的字符编码

king Oracle 2022-06-28 967浏览 0

如何查询oracle的字符编码

如何查看Oracle数据库的字符编码

1、查询Oracle Server端的字符集:

有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:

SQL>select userenv(‘language’) from dual;

结果如下:AMERICAN _ AMERICA. ZHS16GBK。

2、查询dmp文件的字符集:

用Oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:

SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
ZHS16GBK

3、也可以通过如下的视图来获取Oracle的数据库字符集

SELECT * FROM NLS_DATABASE_PARAMETERS;--数据库服务器字符集,来源于PROPS$
SELECT * FROM NLS_INSTANCE_PARAMETERS;--客户端字符集,来源于V$PARAMETER
SELECT * FROM NLS_SESSION_PARAMETERS;--会话字符集,来源于V$NLS_PARAMETERS,表示会话自己的设置,可能是会话的环境变量或者是由ALTER SESSION完成,如果会话没有特殊的设置,将与NLS_INSTANCE_PARAMETERS一致
4ELECT * FROM V$NLS_PARAMETERS;
SELECT * FROM SYS.PROPS$;


继续浏览有关 oracle 的文章
发表评论