postgres中是否有类似**contains**?的函数,可以在where clause中使用,以检查传递的字符串是否包含在列中?
contains
where clause
x9ybnkn61#
你可以用position()来实现,如果找不到子字符串,它返回零:
position()
position(col2 in col1) <> 0
v9tzhpje2#
有很多方法可以解决这个问题:1.将like、ilike和/或x1m2 n1沿着||。要处理列,类似于:
like
ilike
WHERE col1 ilike '%' || col2 || '%';
1.使用位置作为NPE的答案1.您也可以使用regexp_matches,但这会更加复杂。
regexp_matches
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
3条答案
按热度按时间x9ybnkn61#
你可以用
position()
来实现,如果找不到子字符串,它返回零:v9tzhpje2#
有很多方法可以解决这个问题:
1.将
like
、ilike
和/或x1m2 n1沿着||。要处理列,类似于:1.使用位置作为NPE的答案
1.您也可以使用
regexp_matches
,但这会更加复杂。qni6mghb3#
您可以使用:
% a %〉结果将向您显示在值的任何位置包含a的所有数据。
此外,您还可以使用: