数据库,表信息如下:
- 字符集:utf8
- 排序规则:utf8_general_ci(不区分大小写)
1. 数字排序(Unicode编码10进制):
数字 0 编码值:48
数字 1 编码值:49
数字 2 编码值:50
排序(mysql默认升序):"11111" > "1200" > "12101"
2. 字母排序(Unicode编码10进制):
字母 a 编码值:97
字母 b 编码值:98
排序(mysql默认升序):"aa" > "aab" > "ab"
3. 中文排序(Unicode编码10进制):
中文 阿 编码值:38463
中文 白 编码值:30333
排序(mysql默认升序):"白" > "阿" > "阿白"
4. 数字,字母,中文混合排序:
"1b白" > "1b阿" > "1白阿a" > "1阿a" > "1阿b" > "4" > "a" > "阿"
总结:
1. 当字段类型为string型时,字符串排序是先比较字符串第一个字符的大小(Unicode编码10进制大小)
2. 当字段类型为int型时,比较整个数字的大小
编码网站:http://www.mytju.com/classcode/tools/encode_utf8.asp
MySQL 字符串的排序规则解析
于 2023-01-09 15:29:52 首次发布