中对中文字符串进行排序_SAP HANA数据库里对中文字符串排序的实现

下图是SAP Cloud for Customer对中文字符的排序结果:

613dcd80b59c9950f5e26869ac4e9c7b.png

在HANA studio上打开trace:

806211fc64f5d6ee209ffbf7ac79c610.png

设置trace file name:

dbd26f1a70727234a334b2935b691ca7.png

构造测试数据:

DROP TABLE TEST_SORT;CREATE TABLE TEST_SORT ( SID INTEGER,CNAME NVARCHAR(100),ENAME NVARCHAR(20));INSERT INTO TEST_SORT Values (1, '山东', 'ShanDong');INSERT INTO TEST_SORT Values (2, '华为', 'Huawei');INSERT INTO TEST_SORT Values (3, '爱活力', 'Aihuoli');

执行select:

select * from TEST_SORT ORDER BY CNAME desc;

找到trace file:

392aa9dcbab2eba930b88860f2deb62d.png

从trace file发现HANA是按照中文字符的Hexadecimal排序:

73ea7f1a989a599e08cb8558a58b4ae4.png

所以才会有如下结果:

ResultSet.columnLabel = [SID:INTEGER, CNAME:NVARCHAR, ENAME:NVARCHAR] (thread 29569, con-id 300136) at 2017-09-11 15:54:31.140189ResultSet.row[1] = [3, u'''xE7x88xB1xE6xB4xBBxE5x8Ax9B''', u'''Aihuoli'''] (thread 29569, con-id 300136) at 2017-09-11 15:54:31.140204ResultSet.row[2] = [1, u'''xE5xB1xB1xE4xB8x9C''', u'''ShanDong'''] (thread 29569, con-id 300136) at 2017-09-11 15:54:31.140210ResultSet.row[3] = [2, u'''xE5x8Dx8ExE4xB8xBA''', u'''Huawei'''] (thread 29569, con-id 300136) at 2017-09-11 15:54:31.140216

爱活力 will be bigger than 山东 and 华为.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值