• 需求:联系人列表按照首字母排序

通常如果表设计的时候增加了对应的首字母字段显然很好实现,如果没加,应该如何实现!?

  • 数据库创建 函数 执行以下代码
CREATE DEFINER=``@`` FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8DETERMINISTIC
BEGINDECLARE V_RETURN VARCHAR (255);
DECLARE V_BOOL INT DEFAULT 0;
DECLARE V_NUM VARCHAR (2);
DECLARE FIRST_VARCHAR VARCHAR (1);
SET FIRST_VARCHAR = LEFT (CONVERT(P_NAME USING gbk), 1);
SELECTFIRST_VARCHAR REGEXP '[a-zA-Z]' INTO V_BOOL;
SELECTFIRST_VARCHAR REGEXP '[0-9]' INTO V_NUM;IF V_BOOL = 1 THEN
SET V_RETURN = FIRST_VARCHAR;
ELSEIF V_NUM = 1 THEN
SET V_RETURN = '#';ELSESET V_RETURN = ELT(INTERVAL (CONV(HEX(LEFT (CONVERT(P_NAME USING gbk), 1)),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z'
);
END
IF;
RETURN V_RETURN;
END
  • 执行完后会创建一个名为 fristPinyin函数

  •  sql 调用
SELECT real_name, fristPinyin(real_name) AS fristPinyin FROM ghy_address_list ORDER BY fristPinyin;
  • 结果

转载请注明出处:BestEternity亲笔。​​​​​​​

MySQL数据库处理中英文取首字母排序相关推荐

  1. 英文首字母排序mysql_利用MySQL数据库来处理中英文取首字母排序

    [package com.syz;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import ja ...

  2. 用MySQL数据库来处理中英文取首字母排序

    我们的联系人列表经常会有按照首字母排序的需求. 这个很方便, 很清晰, 如果不说性能如何, 就像让数据库来做呢? 其实MySQL是支持的. 我们建立一个函数: DELIMITER $$ CREATE ...

  3. mysql 中英按字母排序_利用MySQL数据库来处理中英文取首字母排序

    很久都没有写博客了, 但是也积攒了了很多的问题, 下次找个时间一起整理一下, 然后记录下来, 以备不时之需. 我们的联系人列表经常会有按照首字母排序的需求.  这个很方便, 很清晰, 如果不说性能如何 ...

  4. 利用MySQL数据库来处理中英文取首字母排序

    2019独角兽企业重金招聘Python工程师标准>>> DELIMITER $$ CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR (255) ...

  5. 数据库按照汉字拼音首字母排序

    ===>sqlserver按照汉字拼音首字母排序 select * from table order by name collate Chinese_PRC_CS_AS_KS_WS 在修改sql ...

  6. MySQL中文无法按照拼音首字母排序解决方法convert(name USING gbk)

    问题如下: 使用默认的order by函数无法对中文数据按照首字母进行排序 SELECT * FROM `test_table` ORDER BY company_name,reply_room_na ...

  7. MySQL查询,按拼音首字母排序

    MySQL按照汉字的拼音排序 按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼 ...

  8. java实现字母排序_Java实现按中文首字母排序的具体实例

    要实现"按中文首字母排序"操作,可以使用java.util包下的arrays类的sort()函数. arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...

  9. mysql城市表含字首字母_城市列表取汉字的第一个字的首字母并排序功能

    /** * 取汉字的第一个字的首字母 * @param type $str * @return string|null * @user qichao * @date 2017-04-13*/ publ ...

最新文章

  1. 如何为linux服务器配置DNS解析?
  2. 凝聚世界著名UNIX/Linux专家Sobell十年功力的巨著1
  3. Nginx 从零搭建
  4. 报表-对于多数据进行 分sheet以及 分workbook处理
  5. Gtk:利用alignment控制button大小
  6. 大数据_Hbase-Filter 索引(优化)_根据column查询---Hbase工作笔记0020
  7. Java Spring-注解进行属性注入
  8. 非sudo用户引起同名字体故障一例
  9. Qt QSettings读写ini时 General 读不出来值
  10. 临湘东经子午线经度_经纬度与中央子午线查询表(精确到县级)
  11. Win10不相邻的磁盘怎么合并,一学就会
  12. acrobat PDF删除部分_PDF文件如何删除部分内容?
  13. Revit二次开发之绘制钢筋
  14. 计算存储分离在京东云消息中间件JCQ上的应用
  15. 唯独发奋,努力,勤奋做事才是唯一的出路 C#-患者实体类
  16. My blog has been migrated to GitHub.
  17. css中“~”(波浪号)、“,”(逗号)、 “ + ”(加号)和 “ ”(大于号)是什么意思?
  18. BZOJ 3698: XWW的难题(有源汇上下界最大流)
  19. javascript入门基础篇重点 第二节2.
  20. 树莓派 安装 Syncthing 自建私有云盘 照片备份 备份手机相册

热门文章

  1. Spring Boot 整合流程引擎 Flowable(附源码地址)
  2. (转载)半导体制程的魔法
  3. 全球IP地址查询完整版
  4. HeyUI组件库12月更新日志:Clipboard复制剪切板,Avatar头像
  5. [159]按键精灵--设置模拟方式
  6. ClickHouse编程指南之DatabaseEngine和TableEngine
  7. WIN 7下安装WIN 10双系统教程
  8. 设置Eclipse的上网代理
  9. linux开源镜像网址
  10. 新建、扩建、改建、技改区分