检测包含通配符的特定字符串并在PLPGSQL中隔离通配符

时间:2017-04-21 12:56:05

标签: sql postgresql postgresql-9.4

在PostgreSQL 9.4(PLPGSQL)中是否可以检测字符串是否包含某个包含通配符的字符串并获取通配符,例如:

IF NEW.my_string CONTAINS 'patternXYZ' THEN
    NEW.my_values := getXYZ(my_string)
END IF;

这将导致NEW.my_values包含XYZ(可以是字符串中的任何内容,但只有3个字符)。

1 个答案:

答案 0 :(得分:-1)

SELECT 
   CASE
   WHEN (NEW.my_string like '%patternXYZ%')
      THEN substring(NEW.my_string from '+pattern+') 
      ELSE '00'
   END AS data
FROM my_table;

模式应该是查询的参数。