首页 > 数据库 > Oracle > 修改数据库字符集导致的数据异常
一、故障现象
select distinct (nls_charset_name(charsetid)) CHARACTERSET, decode(type#, 1, decode(charsetform, 1, 'VARCHAR2', 2, 'NVARCHAR2', 'UNKNOWN'), 9, decode(charsetform, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKNOWN'), 96, decode(charsetform, 1, 'CHAR', 2, 'NCHAR', 'UNKNOWN'), 8, decode(charsetform, 1, 'LONG', 'UNKNOWN'), 112, decode(charsetform, 1, 'CLOB', 2, 'NCLOB', 'UNKNOWN')) TYPES_USED_IN from sys.col$ where charsetform in (1, 2) and type# in (1, 8, 9, 96, 112) order by CHARACTERSET, TYPES_USED_IN;

根据查询结果,数据库使用了两种字符集,而且AL32UTF8并不是ZHS16GBK的超集。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31355629/viewspace-2780968/ ,如需转载,请注明出处,否则将追究法律责任。