1、name字段用来存储客户姓名,查询结果需要按姓氏拼音排序,现在有一个问题,

名字既有中文名字,又有英文名字,比如 张三,李四,Jaewon Park,老王

这样查询出来的结果英文名字的人永远排第一

排序我使用的是下面这句

CONVERT( name USING gbk ) COLLATE gbk_chinese_ci

如何可以将英文的第一个字母也按照拼音的方式排序呢?

回复内容:

1、name字段用来存储客户姓名,查询结果需要按姓氏拼音排序,现在有一个问题,

名字既有中文名字,又有英文名字,比如 张三,李四,Jaewon Park,老王

这样查询出来的结果英文名字的人永远排第一

排序我使用的是下面这句

CONVERT( name USING gbk ) COLLATE gbk_chinese_ci

如何可以将英文的第一个字母也按照拼音的方式排序呢?

谢邀。

单纯用 mysql 解决,中英文混合还要按照 A-Z 排序,我并没有办法

我的一个小思路是,可以增加一列,把中文转成拼音,然后按照字母排序

新建一列,用来保存 如果是英文 就保存首字母,如果是中文就保存拼音首字母,专门用来排序

至少汉字拼音怎么获得,网上解决方法很多,自己搜一下吧

多加一列,保存对应名字的拼音,这样就很好排序了

`--创建获取汉字首字母的函数

CREATE FUNCTION FirstPinyin(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8

BEGIN

DECLARE V_RETURN VARCHAR(255);

SET 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');

RETURN V_RETURN;

END

--编写查询语句

SELECT * FROM article ORDER BY IFNULL(FirstPinyin(title),substring(title, 1, 1)) ASC`

将中文转拼音,然后在根据首字母排序

推荐中文转拼音来处理 基于词库的中文转拼音优质解决方案

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql查找名字含A的的姓名_mysql查询结果排序,name字段有中文名字,有英文名字,如何按a-z的顺序把名字排序...相关推荐

  1. mysql查找三个年龄最大的人_mysql 查寻重复姓名且年龄最大的列表 - count

    1.任何情况下SELECT COUNT(*) FROM tablename是最优选择:2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = 'value' ...

  2. 数据库MySQL常见函数(含分组函数与复杂分组查询)

    文章目录 一.常见函数介绍 1. 概念: 2.好处: 3.调用格式: 4.分类: 二.单行函数 1.字符函数: 2.数学函数: 3.日期函数 4.其他函数 5.流程控制函数 二.分组函数 1.概念 2 ...

  3. mysql查找连接的用户名和密码忘记_mysql忘记帐号密码 解决办法。

    首先关闭mysql 使用命令行启动mysql(一般要找到mysql.ini文件) 在windows上mysql.ini文件可以通过查看当前mysql进程参数查看到,具体方法点此 在启动mysql命令行 ...

  4. mysql测试表格的年龄的语句是_MySQL查询语句练习题

    Sutdent表的定义 Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 ...

  5. mysql测试表格的年龄的语句是_MySQL查询语句练习题,测试基本够用了

    Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性 ...

  6. mysql 最多查询数据库_mysql 查询全表某字段值最大的10条数据

    展开全部 select * from 表 order by 要最大值的字段 desc limit 0,10 FILE: 在MySQL服务器上读写文件.62616964757a686964616fe59 ...

  7. MySQL查学生年龄30到40之间_MYSQL查询练习 1

    -- 查询练习 1------------ CREATE TABLEstu ( sidCHAR(6), snameVARCHAR(50), ageINT, genderVARCHAR(50) );IN ...

  8. mysql select后面能跟多少个表_mysql查询语句中,FROM后面可以跟具体的表名,也可以跟一个查询结果...

    /* FROM后面可以跟具体的表名,也可以跟一个查 询结果(此查询结果其实就是相当于一张表, 注意:必须要给它取一个别名) */ #给查询结果取别名 SELECT * FROM book, (SELE ...

  9. MySQL万字总结(含测试代码)

    本文大部分笔记来源于:[狂神说Java]MySQL最新教程通俗易懂 1.MySQL 什么是数据库 数据库(DataBase,简称DB) 概念:长期存放在计算机内,有组织,可共享的大量数据的集合,是一个 ...

最新文章

  1. Python+OpenCV 图像处理系列(7)—— 图像色彩空间及转换
  2. AI开学第一课!CMU深度学习秋季课程开课了(附PPT 、视频)
  3. Python里面的多线程
  4. tomcat 端口_【Java】指定端口运行 war 包
  5. tensorflow去掉某一维度_在Python中解压缩(取消堆栈)一个输入(占位符),在tensorflow中有一个None维度...
  6. 最近发包给朋友,搞定软件小活儿、解决小功能模块的感受
  7. BGP—— Confederation联邦(讲解+配置)
  8. nginx server location
  9. 初学者浅谈oracle中的一些sql
  10. echarts设置标题样式_EChart 标题 title 样式,x轴、y轴坐标显示,调整图表位置等...
  11. 如何压缩照片大小,压缩照片大小的方法
  12. 淘客渠道商备案及流程说明
  13. sonarqube如何导入规则_sonar如何添加自定义JAVA规则
  14. 基于嵌入式ARM的mp3播放器的设计
  15. 计算机专业用移动硬盘,评测 篇四十三:国产之光,看这款可做移动硬盘又可系统盘的Orico SSD...
  16. C# 最新手机号码段的号码验证实现
  17. L. Spicy Restaurant(多源BFS+递推)
  18. vue-混入mixins
  19. 保罗·艾伦,又一位PC时代开创者辞世
  20. 相机下载_美颜轻相机最新版下载-美颜轻相机app下载v1.70206 安卓版

热门文章

  1. 一触即达!佰达慧兴携新风向标开展新零售电商产业升级
  2. 基于opencv-python实现直线检测-20221127工作总结
  3. 数值计算·第八集:二阶锥规划(CVXPY版)
  4. 最佳化三维建模与重构中的神经网络先验
  5. Systemd基础篇:4:对服务启动出现的问题进行debug的方法
  6. 好用的免费代理池搭建
  7. hanmming窗和hamming窗的作用
  8. 中科大ctf题型总结,来自小白的感慨
  9. java贪吃蛇(障碍物*咬尾巴)
  10. 双螺杆挤出机有哪些系列