【发布时间】:2021-05-16 14:00:51
【问题描述】:
我正在尝试使用pg_trgm 进行字符串模糊匹配,我知道它可以这样使用:
SELECT * FROM artists WHERE SIMILARITY(name, 'Claud Monay') > 0.4;
其中标量值可用于与相似度进行比较。但是,我已经看到了将SIMILARITY 与字符串数组一起使用的这种方式:
SELECT * FROM artists WHERE 'Cadinsky' % ANY(STRING_TO_ARRAY(name, ' '));
它使用% 运算符,这是与0.3 的默认值进行比较的简写。我正在尝试找到正确的语法来使用ANY(STRING_TO_ARRAY(...)),但在第一种形式中,可以给出任意标量值来比较相似度。
这很可能只是正确使用 ANY 语法的一个简单问题,但我无法理解正确的形式是什么。
【问题讨论】:
标签: sql postgresql fuzzy-search