Postgresql对非重音不敏感,对重音词敏感
在Postgresql中,如何使用like/ilike实现带重音和不带重音的单独搜索结果,如下所示:Postgresql对非重音不敏感,对重音词敏感,postgresql,accent-insensitive,Postgresql,Accent Insensitive,在Postgresql中,如何使用like/ilike实现带重音和不带重音的单独搜索结果,如下所示: SELECT name FROM cafe-table WHERE unaccent(name) like '%cafe%'; -- use unaccent here 记录的名字是:咖啡馆,咖啡馆,自助餐厅 如果我使用从cafe表中选择名称,其中的名称类似于“%cafe%”然后结果将是咖啡馆,咖啡馆,自助餐厅 但是如果我用%café%(带重音)选择,我只希望结果是café 我已
SELECT name
FROM cafe-table
WHERE unaccent(name) like '%cafe%'; -- use unaccent here
- 记录的名字是:咖啡馆,咖啡馆,自助餐厅
- 如果我使用
从cafe表中选择名称,其中的名称类似于“%cafe%”代码>然后结果将是
咖啡馆,咖啡馆,自助餐厅
- 但是如果我用
(带重音)选择,我只希望结果是%café%
café
uncent
,但它使两个查询的结果相同。您可以使用该模块:
安装:
CREATE EXTENSION unaccent;
那么您的查询可能如下所示:
SELECT name
FROM cafe-table
WHERE unaccent(name) like '%cafe%'; -- use unaccent here
。。。其中(名称类似于“%mask%”或(uncent(“mask”)=“mask”和uncent(名称)类似于“%mask%”)
@Tino是否提供了此帮助?请别忘了投票表决一个答案,这是对回答者花在你的问题上的时间的尊重。如果答案解决了您的问题,您应该另外接受:)