【发布时间】:2011-08-10 22:21:31
【问题描述】:
运行此查询:
select name from folders order by name
返回这些结果:
alphanumeric
a test
test 20
test 19
test 1
test 10
但我期待:
a test
alphanumeric
test 1
test 10
test 19
test 20
这里有什么问题?
【问题讨论】:
-
看起来很奇怪:
'test 20' < 'test 19'。通过检查SHOW lc_collate;你有什么LC_COLLATE?我有en_US.UTF-8,它使用ORDER BY name ASC返回完全想要的输出。 -
我也得到了同样的结果。我刚刚做了
select 'alphanumeric' < 'a test'并得到了f。 -
为了记录,我发布了一个答案,指向您手动输入进行整理。它被认为不够可爱,所以我删除了它。但我认为你应该从那里开始。
-
@andrew cooke:我没有投反对票,这很好,排序规则负责排序,但是仅支持 每列排序规则,这在此处可能很有用从 Postgres 9.1 开始。
-
您好,感谢您的 cmets... SHOW lc_collate;正在返回 es_SV.UTF-8(我住在萨尔瓦多)
标签: postgresql sorting alphanumeric