database - 如何不忽略 postgresql 排序中的标点符号?
问题描述
我的 SQL 查询
select name
from products
order by "name" asc
我的结果:
AAA
BBB
!!!CCC
DDD
我注意到了这个标志!由 postgresql 整合,如何修复它以考虑排序。
解决方案
如果您不需要对非 ASCII 字符的特殊排序支持(例如,您不依赖于ß
被排序为ss
),则可以使用二进制排序规则(并忽略大小写):
ORDER BY lower(name) COLLATE "C"
如果您有更高级的需求,并且您的 PostgreSQL 是在 ICU 支持下构建的,您可以创建自定义 ICU 排序规则,更加强调特殊字符。
推荐阅读
- javascript - 检测左键单击并将其更改为中键 o Ctrl+单击
- c# - 将 DateTable 导出到 Excel 时无法获得提及的时间格式
- c++ - 代码未执行的情况 2。有人可以告诉我所需的更改吗
- corda - 运行单元测试时出现无包存在错误
- python - VS Code:在后台进行分析
- google-maps - 颤动的谷歌地图没有出现
- python - 字符串错误?错误:无效语法(
,第 9 行) - php - 将参数路由到控制器
- javascript - 添加附加而不是添加的复选框的总和
- bootstrap-4 - 如何将引导卡 (class="card") 与内联复选框 (class="form-check-inline") 结合使用。它似乎无法正常工作