Mysql按姓氏从小到大排序的正确sql

一、前言

最近有个需求,要按姓氏从小到大查询数据。(姓名都是中文的)

写了一个sql:

a 复制代码
select a.* from mytable a order by substr(a.NAME,1,1) asc

结果发现这样不行,排序是乱的。

二、解决办法

查询发现,如果mysql字符集是gbk的话,这样就可以;

如果是utf8,那就不行。

需要这样写:

a 复制代码
select a.* from mytable a order by convert(substr(a.NAME,1,1) using gbk) ASC

这样就能实现按姓氏从A-Z返回了。

相关推荐
S1998_1997111609•X3 小时前
论当今社会主义与人文关怀人格思想下的恶意仿生注入污染蜜罐描述进行函数值非法侵入爬虫的咼忄乂癿〇仺⺋.
数据库·网络协议·百度·ssh·开闭原则
倔强的石头_4 小时前
kingbase备份与恢复实战(六)—— 备份自动化与保留策略:Windows任务计划+日志追溯
数据库
轻刀快马5 小时前
别被 ORM 框架宠坏了:从一场“订单消失”悬案,看懂 MySQL 为什么要强推 InnoDB
数据库·mysql
学网安的肆伍5 小时前
【043-WEB攻防篇】PHP应用&SQL注入&符号拼接&请求方法&HTTP头&JSON&编码类
sql·安全·php
后端漫漫6 小时前
Redis 客户端工具体系
数据库·redis·缓存
PaperData8 小时前
1988-2025年《中国人口和就业统计年鉴》全年份excel+PDF
数据库·人工智能·数据分析·经管
星河耀银海8 小时前
C语言与数据库交互:SQLite实战与数据持久化
c语言·数据库·sqlite·交互
过期动态8 小时前
MySQL中的约束
android·java·数据库·spring boot·mysql
程序员陆通8 小时前
月烧 400 刀到不到 20 刀:我是怎么把 OpenClaw 的 Token 账单砍掉 95% 的
java·前端·数据库
Shan12058 小时前
站在计算机领域视角看:SQL注入攻击
网络·数据库·sql