REGEXP_LIKE Oracle函数
问题描述:
我有一个100字的列表,我需要对55百万行数据进行模式匹配。有没有办法创建一个单词列表并通过REGEXP_LIKE函数传递列表,而不是多次使用| (or)
语句,是否可以输入列表?REGEXP_LIKE Oracle函数
Search *
From table
Where REGEXP_LIKE(C1, 'wordlword2letc...', 'i');
答
在REGEXP_LIKE
你不可错过的单词列表作为pattern
。
pattern
是正则表达式,通常是文本字面值,不能超过512字节。
你能做什么,存储话你想搜索在不同的表/列,然后使用LIKE
条件查询为你只是想搜索的发生字和不期望正则表达式搜索支持。
所以,如果有一个表/列(new_table.col),存储您的输入项搜索,查询可能看起来像(使用UPPER
功能,确保不区分大小写,你试图) -
SELECT a.* FROM table a, new_table b WHERE UPPER(a.col1) LIKE UPPER(b.col);
感谢您的快速回复 – PasitoTunTun