2014-12-04 55 views
-1

我有一個這樣的表:PostgreSQL的反向模式匹配(在現場模式)

id: 1 
pattern: /test.* 

id: 2 
pattern: /hello-world 

與此輸入值:/test-request

現在我想給定的輸入和應該的Postgres創建一個查詢返回第二列中的模式與輸入匹配的行(正則表達式搜索,但正則表達式位於要搜索的字段中)

這對postgres數據庫可能嗎?

回答

5

您可以使用列值的正則表達式運算符:

select id, pattern 
from patterns 
where '/test-request' ~* pattern; 

~*不區分大小寫的匹配,~不區分大小寫的匹配。

SQLFiddle例如:http://sqlfiddle.com/#!15/388a4/2

+0

不知道它有可能改變這兩個字段的順序,謝謝! – Fender 2014-12-04 09:16:49