use*_*190 4 sorting postgresql
我正在尝试对Postgres数据库中的字符列进行排序:
Select column1 from table order by column1
Run Code Online (Sandbox Code Playgroud)
输出量
dir1
dir2
dir3
#num1
t1
Run Code Online (Sandbox Code Playgroud)
我希望排序#num1先按sqlite的方式打印。有什么想法需要在查询中更改吗?
一种可能的解决方案是“禁用”这种排序规则设置:
WITH x(a) AS (VALUES
('dir1')
,('dir2')
,('dir3')
,('#num1')
,('t1')
)
SELECT *
FROM x
ORDER BY a COLLATE "C";Run Code Online (Sandbox Code Playgroud)
单个表达式的临时整理需要PostgreSQL 9.1或更高版本。
大多数语言环境会忽略#排序的开头。如果切换到"C",则字符将按其字节值有效地排序。不过,这可能不是您想要的。
许多相关问题,例如:
PostgreSQL UTF-8二进制排序规则
| 归档时间: |
|
| 查看次数: |
3286 次 |
| 最近记录: |