You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL按字母排序结果不符合预期,如何修正?

不区分大小写的SQL排序解决方案

当前你的SQL语句使用order by name asc时,数据库默认采用区分大小写的排序规则,导致大写字母排在小写字母前,结果不符合预期。要实现不区分大小写的字母顺序排序,可通过以下两种常用方式调整:

方法1:统一转换为小写(或大写)后排序

将name字段转换为小写(或大写)再执行排序,以此忽略大小写差异:

select name, id from hes_std_name_id
where id = 121
order by LOWER(name) asc;

方法2:使用不区分大小写的排序规则(数据库特定)

如果你的数据库支持指定排序规则,比如MySQL可使用utf8_general_ci(不区分大小写的排序规则),PostgreSQL可使用citext类型或指定COLLATE "en_US.utf8",以MySQL为例的示例语句:

select name, id from hes_std_name_id
where id = 121
order by name collate utf8_general_ci asc;

调整后,查询结果会按照不区分大小写的字母顺序排列,得到你期望的输出:

name
aa
AHAS
BETA
bios
cash
deposit

内容的提问来源于stack exchange,提问作者Abinnaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 03:22:54