REGEXP_LIKE Oracle函数

时间:2016-02-13 01:30:12

标签: sql oracle

我有一个100个单词的列表,我需要在5500万行数据上进行模式匹配。有没有办法创建单词列表并通过REGEXP_LIKE函数传递列表,而不是多次使用| (or)语句,是否可以输入列表?

Search *
From table
Where REGEXP_LIKE(C1, 'wordlword2letc...', 'i');

1 个答案:

答案 0 :(得分:1)

您无法在 PS.on('error' ... 中将字词列表作为 pattern 传递。

REGEXP_LIKE 是正则表达式,通常是文本文字,不能超过512个字节。

您可以做的是,将您尝试搜索的字词存储在单独的表格/列中,然后在查询中使用 pattern 条件因为你只是试图搜索单词的出现而不期望正则表达式搜索支持。

因此,如果有一个表/列(new_table.col)存储您要搜索的输入项,您的查询可能看起来像(使用LIKE函数来确保在您尝试时不区分大小写的搜索) -

UPPER