Работа с подстановочными знаками - SQL - PullRequest
2 голосов
/ 30 декабря 2010

Я хотел бы сохранить список wild cards в моей базе данных (PostgreSQL).

, например

  • Laughing Unicorn v1.*

  • Firefox v4.*

  • jump * start

, где в этом случае * будет означать любое значение.


После сохранения этих значений в БД я хотел бы затем запросить БД, чтобы проверить, соответствует ли строка какому-либо из шаблонов

Например, я могу проверить, соответствует ли Laughing Unicorn v1.8 какой-либо строке.


Есть идеи? :)

1 Ответ

3 голосов
/ 30 декабря 2010
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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...