postgresql在搜索结果中按字母顺序包括突出显示的字母

时间:2017-02-15 12:26:48

标签: postgresql

我在postgresql数据库中安装了unaccent(虽然不确定这是否与我的问题相关)。

当我做一个简单的

select * from keywords order by keyword desc;

返回以œ开头的所有条目,然后是éè等。我希望这些条目位于以普通e开头的字词内,以便命令返回排名最高的是以z开头的字词,而不是y等等。

我试过了:

select unaccent(*) from keywords order by keyword desc;

这不好,因为不显示只是全文搜索并且取消了搜索词,而不是结果。

1 个答案:

答案 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