我想问一下,如果一个集合有3个实例,在regexp中是否可以在给定的数字中标识。
例如:
123456141414
123456171717
在上面的例子中,我们有3x14和3x17,因此它应该返回regexp_like查询中的数字。
但它应该返回3倍于相同数字的所有事件。
最佳答案
请试试这个:
SELECT INPUT_TEXT, REGEXP_SUBSTR(INPUT_TEXT, '([[:digit:]]{2})\1\1', 6) EXTRACTED
FROM MY_TABLE
WHERE REGEXP_INSTR(INPUT_TEXT, '([[:digit:]]{2})\1\1', 6) > 0
输入表值:
INPUT_TEXT
--------------
123456141414
123456171717
123456111111
141414123456
123456121234
查询结果:
INPUT_TEXT EXTRACTED
-------------- --------------
123456111111 111111
123456141414 141414
123456171717 171717