首页 > 数据库 >MySQL按照汉字的拼音排序

MySQL按照汉字的拼音排序

时间:2023-02-21 11:04:55浏览次数:42  
标签:拼音 汉字 姓氏 MySQL 升序 排序 按照

按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序;

 

如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了)。

直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序;

 

如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码;对于的代码是  order by convert(name using gbk) asc; 同样,查询的结果也是按照姓氏的升序排序;



标签:拼音,汉字,姓氏,MySQL,升序,排序,按照
From: https://blog.51cto.com/u_15535797/6076080

相关文章

  • mysql中if()函数使用
    博主原创,转载请注明出处:     在mysql中if()函数的用法类似于java中的三目表达式,其用处也比较多,具体语法如下:IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的......
  • mysql中case用法
    转载请注明出处:       简单CASE语句仅允许您将表达式的值与一组不同的值进行匹配。为了执行更复杂的匹配,如范围,您可以使用可搜索CASE语句。可搜索CASE语句等同于IF......
  • mybatis中mysql转义讲解
    本文为博主原创,未经允许不得转载:     在mybatis中写sql的时候,遇到特殊字符在加载解析的时候,会进行转义,所以在mybatis中写sql语句的时候,遇到特殊字符进行转义处理。 ......
  • com.mysql.jdbc.PacketTooBigException,及mysql 设置 max_allow_packet
    本文为博主原创,未经允许不得转载:     在进行批量导入表格数据入库操作时,报了以下错误: 错误分析:       mysql根据配置文件会限制server接受的数据包大小。有......
  • mysql表分区存储过程
    本文为博主原创,未经允许不得转载:由于数据库一张表数据量有几千万条,而且在不断增长,看见公司前辈写了一个创建表分区的存储过程,感觉甚是牛逼,在此供自己保留学习。/*PROCED......
  • mysql8.0的可用方案
    1.在/use/local下创建mysql文件夹mkdirmysql2.切换到mysql文件夹下cdmysql3.下载mysqlwgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-......
  • map进行value排序
    publicstaticMap<String,Long>sortMap(Map<String,Long>map){List<Map.Entry<String,Long>>entryList=newArrayList<>(map.entrySet());en......
  • 基于 springboot + mybatis-plus + MySQL 重构过去一个项目的踩坑总结(持续更新)
    ①使用mybatis-plus时,如果根据某个条件查询没有查到数据,那么返回的实体类是null,如果使用get方法就会导致空指针异常,这点要规避②如果Map初始化在循环体外,那么在循......
  • Mysql自增ID用完了会咋样?
    这个问题其实可以分为有主键&无主键两种情况回答。国际惯例,先上张脑图:02有主键如果你的表有主键,并且把主键设置为自增。在MySQL中,一般会把主键设置成int型。而MySQ......
  • mysql触发器对于null值的处理
    mysql的触发器是不会对null值进行直接监控的,需要手动对于null值做处理这样处理null值就可以NEW.prom_priceisnotnullandOLD.prom_priceisnull......