gpt4 book ai didi

postgresql - 如何使用某些特殊字符对 postgres 列进行排序?

转载 作者:行者123 更新时间:2023-11-29 11:32:18 25 4
gpt4 key购买 nike

我正在尝试对 Postgres 数据库中的字符列进行排序:

Select column1 from table order by column1

输出

dir1 
dir2
dir3
#num1
t1

我希望排序以 sqlite 的方式首先打印 #num1。我有什么想法需要在查询中更改吗?

最佳答案

一个可能的解决方案是“禁用”您对这种排序的排序规则设置:

WITH x(a) AS (VALUES
('dir1')
,('dir2')
,('dir3')
,('#num1')
,('t1')
)
SELECT *
FROM x
ORDER BY a <b>COLLATE "C"</b>;

Ad-hoc Collation for individual expressions需要 PostgreSQL 9.1 或更高版本。

大多数语言环境会忽略前导的 # 进行排序。如果切换到 "C",字符将按其字节值有效排序。不过,这可能是您想要的,也可能不是。

很多相关问题,比如这里:
PostgreSQL UTF-8 binary collation

关于postgresql - 如何使用某些特殊字符对 postgres 列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com