Dam*_*mon 3 sql sorting postgresql collation
我在 PostgreSQL 中有一个排序问题,数据如下:
name
-----
@CF
@CG
CD
CE
Run Code Online (Sandbox Code Playgroud)
我用过select name from table order by name,结果如下:
name
-----
CD
CE
@CF
@CE
Run Code Online (Sandbox Code Playgroud)
似乎 Postgres 只是忽略了特殊字符@并对左边的字符串进行了排序。但是,我希望它是这样排序的:
name
-----
@CF
@CG
CD
CE
Run Code Online (Sandbox Code Playgroud)
搜索互联网没有帮助。我希望这里有人可以提出建议。
使用PostgreSQL 的整理支持来告诉它你想要一个特定的整理。
鉴于:
CREATE TABLE t AS VALUES ('CD'),('CE'),('@CF'),('@CE');
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法强制按字节排序:
SELECT * FROM t ORDER BY column1 COLLATE "C";
Run Code Online (Sandbox Code Playgroud)
该"C"整理是逐字节的排序规则,无视国家的语言规则,编码等
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |