[英]How to sort in PostgreSQL by uppercase first and after by alphabetically?
当我查询数据库时:
select *
from users
order by name
结果是这样的:
Adam
AVA
adrian
James
JESSICA
John
我想按如下顺序排列:
例子:
AVA
JESSICA
Adam
James
John
adrian
但无论如何对我来说就足够了:
AVA
JESSICA
Adam
adrian
James
John
这可以通过使用CASE WHEN
并测试大写来完成;
SELECT *,
CASE
WHEN name = UPPER(name) THEN 1
WHEN LEFT(name, 1) = UPPER(LEFT(name, 1)) THEN 2
ELSE 3
END toOrder
FROM users
ORDER BY toOrder, name ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.