只是想知道是否可以对表中的一组数据进行模式匹配。
像:
select * from Table where Column like any(select Pattern from PatternTable)
请注意,Pattern
始终是Column
的子字符串。因此使用喜欢。是否可以在不使用存储过程的情况下在数据库级别执行此操作?
如果有帮助,我的RDBMS是MS SQL-Server
修改
好吧,我有一个包含一组数据的表,比如
PatternTable
____________
test1
test2
test3
test4
现在,表Table
具有以下数据:
Table
______
SomeDatatest4SomeData
SomeDataSomeData
现在,我可以使用上面提到的查询来查找匹配项:对于上述查询,这应该返回SomeDatatest4SomeData
答案 0 :(得分:2)
您可以使用exists
:
select *
from Table t
where exists (select 1
from PatternTable pt
where t.Column like pt.Pattern
);
答案 1 :(得分:2)
SELECT t.*
FROM [Table] t
INNER JOIN PatternTable p ON t.[Column] LIKE '%' + p.Pattern + '%'