检查 PostgreSQL 函数中变量是否包含 x

问题描述 投票:0回答:2

在 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% 确定。

谢谢!

regex postgresql sql-function
2个回答
5
投票

检查字符串是否包含子字符串或字母的最简单方法是

if ( var like '%x%')
  -- Do something else
end if;

或者您可以像您提到的那样使用正则表达式:

if ( var ~* 'x')

0
投票

您还可以使用性能更高的查询:

IF (SELECT position( 'x' IN var)) <> 0 THEN
  ...
END IF;
© www.soinside.com 2019 - 2024. All rights reserved.