老蔡的个人专栏正式成立,以后工作中遇到的技术问题,或者生活中对一些事物的见解,都会和大家分享!独乐乐不如众乐乐!

mysql 按字段的首字母排序及查询

Mysql数据库 BlandonTsai 5964℃ 0评论

mysql 首字母排序

mysql 按字段拼音首字母排序

在处理项目的车型库问题时,由于车型的品牌众多,后台数据管理需要对车型品牌按拼音进行正常 A~Z 正向排序,若不然管理员维护数据将是一个十分头疼的事儿。话不多说,上代码:

以上的 sql 语句即表明以表 a 的 brand_name 拼音首字母来排序,不过这种写法是针对字段的字符编码 utf8_general_ci 的。如果字符编码是 latin1_swedish_ci ,用以下的写法:

mysql 按字段拼音首字母查询

首先创建一个获取中英文大写首字母函数:

代码中使用的 mysql 函数意义

left(str,length):从左边开始截取字符串

upper(str):将字符串转为大写

length(str):计算字符串长度,一个汉字算三个字符,一个数字或字母算一个字符

character_length(str):汉字、数字、字母都算一个字符

convert(expr USING encode):不同字符集之间的数据转换

hex(Number or Str):将数字或字符串转换为十六进制

conv(Number, from, to):将数字从原来的进制转换成指定的进制

interval(N,N1,N2,N3,……):将N的值与后面的值列表进行比较。假如N < N1,则返回值为0;假如N < N2 等等,则返回值为1;假如N < N3 等等,则返回值为2;…..以此类推;假如N 为NULL,则返回值为 -1 。所有的参数均按照整数处理。为了这个函数的正确运行,必须满足 N1 < N2 < N3 < ……< Nn

elt(N,str1,str2,str3,…):若N = 1,则返回值为 str1,若N = 2,则返回值为 str2,以此类推。若N 小于1或大于参数的数目,则返回值为 NULL。

查询 sql 示例

其中,#{alphaBet} 是项目 mybatis 配置文件中传参的写法,可按照自己的框架进行调整。

转载请注明:似水流年 » mysql 按字段的首字母排序及查询

如果觉得文章还不错,欢迎打赏
喜欢 (0)or分享 (0)
头像
发表我的评论
取消评论


(3)个小伙伴在吐槽
  1. 头像
    :jue:
    匿名2017-12-15 15:50 回复
  2. 头像
    :jue: :happy: :dai:
    匿名2017-12-15 15:50 回复
  3. 头像
    :sleep:
    匿名2018-01-31 16:51 回复