MySql排序问题
对中文字符串使用拼音排序
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:
1.CAST(valueas type);
2.CONVERT(value, type);
可以转换的类型是有限制的。这个类型可以是以下值其中的一个:
1.二进制,同带binary前缀的效果 : BINARY
2.字符型,可带参数 : CHAR()
3.日期 : DATE
4.时间: TIME
5.日期时间型 : DATETIME
6.浮点数 : DECIMAL
7.整数 : SIGNED
8.无符号整数 : UNSIGNED
按照拼音排序示例:
使用的是mbg生成的语句
example.setOrderByClause(" convert(key gbk) "+sort);
带数值字符串排序
例如:1A,2A,3A,数值字符混杂的,在字段后+0,+0转化为int类型实现排序
example.setOrderByClause("key+0 "+sort);