博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DB2 中文排序问题

Posted on 2014-04-08 10:57  生命如风  阅读(1031)  评论(0编辑  收藏  举报

本地测试库中 代码集: GBK

 

数据库配置发行版级别 = 0x0c00
数据库发行版级别 = 0x0c00

数据库地域 = CN
数据库代码页 = 1386
数据库代码集 = GBK
数据库国家/地区代码 = 86
数据库整理顺序 = UNIQUE
备用整理顺序 (ALT_COLLATE) =
数字兼容性 = OFF
Varchar2 兼容性 = OFF
数据库页大小 = 4096

 

服务器的代码集:UTF8

数据库配置发行版级别 = 0x0d00
数据库发行版级别 = 0x0d00

数据库地域 = CN
数据库代码页 = 1208
数据库代码集 = UTF-8
数据库国家/地区代码 = 86
数据库整理顺序 = IDENTITY
备用整理顺序 (ALT_COLLATE) =
数字兼容性 = OFF
Varchar2 兼容性 = OFF
日期兼容性 = OFF
数据库页大小 = 32768

 

本地汉字排序正常,服务器上汉字排序不正常,

解决方法:ORDER BY  COLLATION_KEY_BIT(a.OUNAME, 'UCA500R1_LZH_KGB2312HAN_AN_CX_EX_FX_HX_NX_S3') asc;

基于 Unicode 整理算法的整理

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.admin.nls.doc/doc/r0050489.html

COLLATION_KEY_BIT 函数说明

http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.ref.doc%2Fdoc%2Fr0050491.html