在 SQL Developer 上运行以下代码时会引发错误:
SELECT REGEXP_LIKE('CTCP AYD 0404370713 M', 'CTCH.*[0-9]/{0,1}.*', 'i') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
错误信息:
ORA-00904: "REGEXP_LIKE": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 40 Column: 8
Run Code Online (Sandbox Code Playgroud)
REGEXP_LIKE()不知道为什么当Oracle 中的函数可用时会抛出错误。
Oracle 数据库专家有什么看法吗?
regexp_like是一个条件。where在子句或其他具有布尔比较的地方使用它- 例如case表达式:
SELECT * FROM DUAL
WHERE REGEXP_LIKE('CTCP AYD 0404370713 M', 'CTCH.*[0-9]/{0,1}.*', 'i');
no rows selected
SELECT CASE
WHEN REGEXP_LIKE('CTCP AYD 0404370713 M', 'CTCH.*[0-9]/{0,1}.*', 'i')
THEN 'like this'
ELSE 'not like this'
END rl
FROM DUAL;
RL
-------------
not like this
Run Code Online (Sandbox Code Playgroud)