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   zh7314  阅读(58)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码

统计

点击右上角即可分享
微信分享提示