MySQL数据库处理中英文取首字母排序
- 需求:联系人列表按照首字母排序
通常如果表设计的时候增加了对应的首字母字段显然很好实现,如果没加,应该如何实现!?
- 数据库创建 函数 执行以下代码
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数据库处理中英文取首字母排序相关推荐
- 英文首字母排序mysql_利用MySQL数据库来处理中英文取首字母排序
[package com.syz;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import ja ...
- 用MySQL数据库来处理中英文取首字母排序
我们的联系人列表经常会有按照首字母排序的需求. 这个很方便, 很清晰, 如果不说性能如何, 就像让数据库来做呢? 其实MySQL是支持的. 我们建立一个函数: DELIMITER $$ CREATE ...
- mysql 中英按字母排序_利用MySQL数据库来处理中英文取首字母排序
很久都没有写博客了, 但是也积攒了了很多的问题, 下次找个时间一起整理一下, 然后记录下来, 以备不时之需. 我们的联系人列表经常会有按照首字母排序的需求. 这个很方便, 很清晰, 如果不说性能如何 ...
- 利用MySQL数据库来处理中英文取首字母排序
2019独角兽企业重金招聘Python工程师标准>>> DELIMITER $$ CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR (255) ...
- 数据库按照汉字拼音首字母排序
===>sqlserver按照汉字拼音首字母排序 select * from table order by name collate Chinese_PRC_CS_AS_KS_WS 在修改sql ...
- MySQL中文无法按照拼音首字母排序解决方法convert(name USING gbk)
问题如下: 使用默认的order by函数无法对中文数据按照首字母进行排序 SELECT * FROM `test_table` ORDER BY company_name,reply_room_na ...
- MySQL查询,按拼音首字母排序
MySQL按照汉字的拼音排序 按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼 ...
- java实现字母排序_Java实现按中文首字母排序的具体实例
要实现"按中文首字母排序"操作,可以使用java.util包下的arrays类的sort()函数. arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的 ...
- mysql城市表含字首字母_城市列表取汉字的第一个字的首字母并排序功能
/** * 取汉字的第一个字的首字母 * @param type $str * @return string|null * @user qichao * @date 2017-04-13*/ publ ...
最新文章
- 如何为linux服务器配置DNS解析?
- 凝聚世界著名UNIX/Linux专家Sobell十年功力的巨著1
- Nginx 从零搭建
- 报表-对于多数据进行 分sheet以及 分workbook处理
- Gtk:利用alignment控制button大小
- 大数据_Hbase-Filter 索引(优化)_根据column查询---Hbase工作笔记0020
- Java Spring-注解进行属性注入
- 非sudo用户引起同名字体故障一例
- Qt QSettings读写ini时 General 读不出来值
- 临湘东经子午线经度_经纬度与中央子午线查询表(精确到县级)
- Win10不相邻的磁盘怎么合并,一学就会
- acrobat PDF删除部分_PDF文件如何删除部分内容?
- Revit二次开发之绘制钢筋
- 计算存储分离在京东云消息中间件JCQ上的应用
- 唯独发奋,努力,勤奋做事才是唯一的出路 C#-患者实体类
- My blog has been migrated to GitHub.
- css中“~”(波浪号)、“,”(逗号)、 “ + ”(加号)和 “ ”(大于号)是什么意思?
- BZOJ 3698: XWW的难题(有源汇上下界最大流)
- javascript入门基础篇重点 第二节2.
- 树莓派 安装 Syncthing 自建私有云盘 照片备份 备份手机相册