gpt4 book ai didi

sql - PostgreSQL 如何排序文本值?

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

下面的查询

SELECT * FROM (VALUES('c'), ('a'), ('b'), ('"a"')) X ORDER BY 1 ASC

产生

a
"a"
b
c

那么"a"怎么来的呢?出现在 a 之后即使它以非字母字符开头(即 ")?

我认为输出应该是

"a"
a
b
c

似乎 PostgreSQL 在对这些值进行排序时剥离了非字母字符,但这对我来说没有意义。

最佳答案

文本(char、varchar、text)的排序行为取决于您所在地区的当前排序规则。尝试使用,

SELECT * 
FROM (VALUES('c'), ('a'), ('b'), ('"a"')) X(col)
ORDER BY col COLLATE "C" asc;

“C”归类是一种按字节归类,它忽略国家语言规则、编码等。

关于sql - PostgreSQL 如何排序文本值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56813579/

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