Postgresql包含在where子句中

jljoyd4f  于 2023-03-08  发布在  PostgreSQL
关注(0)|答案(3)|浏览(154)

postgres中是否有类似**contains**?的函数,可以在where clause中使用,以检查传递的字符串是否包含在列中?

x9ybnkn6

x9ybnkn61#

你可以用position()来实现,如果找不到子字符串,它返回零:

position(col2 in col1) <> 0
v9tzhpje

v9tzhpje2#

有很多方法可以解决这个问题:
1.将likeilike和/或x1m2 n1沿着||。要处理列,类似于:

WHERE col1 ilike '%' || col2 || '%';

1.使用位置作为NPE的答案
1.您也可以使用regexp_matches,但这会更加复杂。

qni6mghb

qni6mghb3#

您可以使用:

select * from TABLE_NAME where TABLE_NAME like '%a%';

% a %〉结果将向您显示在值的任何位置包含a的所有数据。
此外,您还可以使用:

%a > values where ending an a

a% > values starting with a

_a% > values with a in the second position

相关问题