mysql中文字段相近字符排序

2022年12月13日16:15:05

最近做一个项目需要中文名排序,因为数据库设计的时候,就是使用 utf8mb4_unicode_ci,担心有些特殊需求中文排序,但是还是无法正常排序

SELECT * FROM `file` WHERE `name` LIKE '%医疗中心护理制度汇编%' ORDER BY name DESC;

image

但是在文件名称在 医疗中心护理制度汇编(四) 这里的会有问题但是改成数字 医疗中心护理制度汇编(数字
虽然只是简单改了名称就可以排序,但是还是没有找到是为什么?

SELECT identifier FROM 表名 ORDER BY  
FIELD(SUBSTRING(identifier,3,1),'一','二','三','四','五','六','七','八','九');

SELECT * FROM file WHERE `name` LIKE '%医疗中心护理制度汇编%' ORDER BY 
FIELD(SUBSTRING(name,3,1),'一','二','三','四','五','六','七','八','九');

这两种方法,建议使用第一种更好

posted on 2022-12-14 11:06  zh7314  阅读(51)  评论(0编辑  收藏  举报