在 PostgreSQL 函数中,检查传入的变量是否包含 具体字母?
传递给函数的变量是逗号分隔的字母列表,我想检查该列表是否包含字母 a 或 x。
我想代码会是这样的:
-- var typically looks like 'a,b,c,x'
if (some way of stripping anything other than a and x from var) ~* [ax]
-- Do something else
end if;
我认为正则表达式就是答案,我只是对语法不是 100% 确定。
谢谢!
检查字符串是否包含子字符串或字母的最简单方法是
if ( var like '%x%')
-- Do something else
end if;
或者您可以像您提到的那样使用正则表达式:
if ( var ~* 'x')
您还可以使用性能更高的查询:
IF (SELECT position( 'x' IN var)) <> 0 THEN
...
END IF;