Postgresql Contains in where clause Postgresql Contains in where clause sql sql

Postgresql Contains in where clause


You could use position() for that. It returns zero if the substring is not found:

position(col2 in col1) <> 0


There are a bunch of ways of solving this:

  1. Use like, ilike, and/or SIMILAR TO along with ||. To handle columns, something like:

    WHERE col1 ilike '%' || col2 || '%';
  2. Use position as NPE's answer

  3. You could also use regexp_matches but that is more complex.