mysql字符怎么排序 mysql根据字段排序( 二 )


MySQL在 5.5.3 之后增加了 utf8mb4 字符编码,mb4即 most bytes 4,使用4个字节来表示完整的UTF-8,是utf8 的超集并完全兼容utf8 , 能够用4个字节存储更多的字符 。
utf8mb4_bin:将字符串每个字符用二进制数据编译存储,区分大小写,而且可以存二进制的内容 。
utf8mb4_general_ci :不区分大小写,不支持扩展,它仅能够在字符之间进行逐个比较,没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致 。但是,在绝大多数情况下,这些特殊字符的顺序并不需要那么精确 。
utf8mb4_unicode_ci :是基于标准的unicode来排序和比较,能够在各种语言之间精确排序 , unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法 。
_bin : binary case sensitive collation,区分大小写的
_cs : case sensitive collation,区分大小写
_ci : case insensitive collation,不区分大小写
主要从排序准确性和性能两方面看:
参考链接:
mysql怎么根据一个字符排序前后?希望智商高的回答!!!请参考下列排序方式 , 权作抛砖引玉 。
如果一杠左边只有一位数
select a from t1 order by left(a,1) asc,
cast(mid(a,3) as int) asc;
如果一杠左边的数字位数是不固定的
select a from t1 order by
cast(left(a,length(a)-instr(a,'-')) as int) asc,
cast(mid(a,instr(a,'-')+1) as int) asc;
mysql字符怎么排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql根据字段排序、mysql字符怎么排序的信息别忘了在本站进行查找喔 。

推荐阅读