postgresql Postgres -排序顺序错误

8zzbczxx  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(201)

此查询:

with labels (label) as (
    values
        ('Asphalt Layer 2 - Labor (Hr)'::text),
        ('Asphalt Layer 2 - Labor Rate ($/Hr)'::text),
        ('Asphalt Layer 2 - Labor Cost'::text)
)
select *
from labels
order by 1;

按以下顺序对值进行排序:

Asphalt Layer 2 - Labor Cost
Asphalt Layer 2 - Labor (Hr)
Asphalt Layer 2 - Labor Rate ($/Hr)

正确的顺序是(也用JavaScript检查):

Asphalt Layer 2 - Labor (Hr)
Asphalt Layer 2 - Labor Cost
Asphalt Layer 2 - Labor Rate ($/Hr)

我使用的AWS RDS Postgres版本如下:
PostgreSQL 11.16 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit
这会导致交叉表查询中的值被转置。我做错了什么?

exdqitrt

exdqitrt1#

没有一种方法可以正确地对文本进行排序:即,不同的语言将具有不同的规则。所以你必须明确地告诉你想要的排序顺序:

相关问题