我想在我的(PostgreSQL)数据库中存储wild cards
列表。
e.g。
Laughing Unicorn v1.*
Firefox v4.*
jump * start
在这种情况下,*
意味着任何价值。
在DB中存储这些值后,我想查询数据库以检查字符串是否与任何模式匹配
例如,我可能想检查Laughing Unicorn v1.8
是否与任何行匹配。
有什么想法吗? :)
答案 0 :(得分:3)
CREATE TABLE patterns (pattern text);
INSERT INTO patterns VALUES ('Laughing Unicorn v1.*'),
('Firefox v4.*'),
('jump * start');
SELECT 'Laughing Unicorn v1.8'
LIKE ANY (SELECT replace(pattern, '*', '%') FROM patterns);