GBase 8a
其他
文章
南大通用GBase 8a之按照拼音方式排序的方法(纠正conver( colname using gbk)的错误 )
发表于2025-09-02 14:15:4797次浏览1个评论
1 主要解决问题
(1)在8a中,无论使用utf8 utf8mb4 还是gbk 的方式,都无法准确按照汉语拼音的顺序进行排序。
这里不说utf8和utf8mb4了,解释一下gbk的方式,一定程度上可以,但也有个别情况,原因不明,如下例:
gbase> select * from han;
+------+
| a |
+------+
| 赵 |
| 痣 |
| 喆 |
| 准 |
+------+
4 rows in set (Elapsed: 00:00:00.01)
gbase> select * from han order by convert(a using gbk);
+------+
| a |
+------+
| 喆 |
| 赵 |
| 准 |
| 痣 |
+------+
4 rows in set (Elapsed: 00:00:00.02)
2 部署方式
(1) 直接使用
./orderbypy 192.168.1.5 gbase gbase20110531 test pinyin name desc (参数含义:集群ip,用户名,密码,库名,表名,排序字段名,排序方式)
排序方式: desc 降序 asc 升序
3 实现效果
gbase> select * from pinyin;
+------+------+
| id | name |
+------+------+
| 1 | 张 |
| 2 | 赵 |
| 3 | 郑 |
| 4 | 周 |
| 5 | 朱 |
| 6 | 章 |
| 7 | 甄 |
| 8 | 仲 |
| 9 | 卓 |
| 10 | 詹 |
| 11 | 占 |
| 12 | 战 |
| 13 | 展 |
| 14 | 瞻 |
| 15 | 哲 |
| 16 | 折 |
| 17 | 浙 |
| 18 | 蔗 |
| 19 | 珍 |
| 20 | 真 |
+------+------+
20 rows in set (Elapsed: 00:00:00.01)
[gbase@localhost pinyin]$ ./dist/orderbypy 192.168.1.5 gbase gbase20110531 test pinyin name asc
--------------------------------------------------------------------------------
id name
--------------------------------------------------------------------------------
10 詹
11 占
12 战
13 展
14 瞻
1 张
6 章
2 赵
15 哲
16 折
17 浙
18 蔗
7 甄
19 珍
20 真
3 郑
8 仲
4 周
5 朱
9 卓
[gbase@localhost pinyin]$ ./dist/orderbypy 192.168.1.5 gbase gbase20110531 test pinyin name desc
--------------------------------------------------------------------------------
id name
--------------------------------------------------------------------------------
9 卓
5 朱
4 周
8 仲
3 郑
7 甄
19 珍
20 真
15 哲
16 折
17 浙
18 蔗
2 赵
1 张
6 章
10 詹
11 占
12 战
13 展
14 瞻
gbase> select * from han;
+------+
| a |
+------+
| 赵 |
| 痣 |
| 喆 |
| 准 |
+------+
4 rows in set (Elapsed: 00:00:00.00)
[gbase@localhost pinyin]$ ./dist/orderbypy 192.168.1.5 gbase gbase20110531 test han a asc
--------------------------------------------------------------------------------
a
--------------------------------------------------------------------------------
赵
喆
痣
准
[gbase@localhost pinyin]$ ./dist/orderbypy 192.168.1.5 gbase gbase20110531 test han a desc
--------------------------------------------------------------------------------
a
--------------------------------------------------------------------------------
准
痣
喆
赵
5 参考文件
(1) 注: 该版本为centos8(python2.7)环境下编译。
(2) 文件下载: orderbypy
链接: https://pan.baidu.com/s/1Z4xKzxjLcCuqTlHvXxkb1A 提取码: pthn
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526