UPDATE:注释表明数据中可能存在一些不可见的空格chars和。这似乎是问题的根源。
我有下表:
SELECT id, name FROM phototagging_category;
id | name
----+-----------------
1 | new
2 | hhh
3 | Más Habana
4 | Más Habana
(4 rows)
当我发出以下查询时,我希望最后两行与正则表达式匹配,但只返回最后一行:
SELECT id, name
FROM phototagging_category WHERE UNACCENT(name) ~* 'mass+habana';
id | name
----+------------
4 | Más Habana
(1 row)
我使用的是PostgreSQL 12(docker镜像postgis/postgis:12-3.0-alpine)
你知道为什么第三排不匹配吗?
正如评论中所建议的那样,第三行似乎有一些不可见的字符。
更新后使用:
UPDATE phototagging_category SET name='Mas Habana' WHERE id=3;
该行现在显示在查询结果中。