我需要测试列值的任何部分是否在给定的字符串中,而不是字符串是否为列值的一部分。 例如:PostgreSQL反向LIKE
这样一来,我可以找到,如果在我的表中的任何行包含column
字符串“砖头”:
SELECT column FROM table
WHERE column ILIKE '%bricks%';
但是我要找的,是找出如果句子中有任何部分“这些船悬挂在天空中的方式与砖块不相同”在任何行中都是如此。 喜欢的东西:
SELECT column FROM table
WHERE 'The ships hung in the sky in much the same way that bricks don’t' ILIKE '%' || column || '%';
所以从第一个例子,其中列中含有“砖头”,该行将显示为结果。
我已经看过这里和其他一些论坛的一些建议,但没有一个工作。
似乎罚款给我,[这里](http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=6889c69d6d61fb8424c53e25206bb60a)是一个演示 – Lamak
@Lamak我t他们希望将句子拆分为单独的单词,并检查这些单词是否以任何顺序出现在表格列中。我想我们需要将字符串拆分成行,然后检查每个字符串是否存在 – xQbert
@xQbert啊,你可能是对的。 – Lamak