我在postgresql数据库中安装了unaccent(虽然不确定这是否与我的问题相关)。
当我做一个简单的
select * from keywords order by keyword desc;
返回以œ
开头的所有条目,然后是é
和è
等。我希望这些条目位于以普通e
开头的字词内,以便命令返回排名最高的是以z
开头的字词,而不是y
等等。
我试过了:
select unaccent(*) from keywords order by keyword desc;
这不好,因为不显示只是全文搜索并且取消了搜索词,而不是结果。
答案 0 :(得分:0)
这是一个整理问题。检查您正在使用的那个或只使用您想要的那个:
with t (w) as ( values ('œ'),('é'),('è'),('z'),('y'))
select w
from t
order by w collate "pt_BR" desc;
w
---
z
y
œ
è
é
在这种情况下,pt_BR
按预期工作。
https://www.postgresql.org/docs/current/static/collation.html