9

postgres 中是否有类似的功能contains?可用于where clause检查传递的字符串是否包含在列中?

4

2 回答 2

18

你可以用position()它。如果未找到子字符串,则返回零:

position(col2 in col1) <> 0
于 2013-03-13T08:09:50.987 回答
8

有很多方法可以解决这个问题:

  1. 与 || 一起使用likeilike和/或。SIMILAR TO要处理列,例如:

    WHERE col1 ilike '%' || col2 || '%';
    
  2. 使用职位作为 NPE 的答案

  3. 您也可以使用regexp_matches,但这更复杂。

于 2013-03-13T09:06:49.670 回答