使用REGEXP_SUBSTR
的好处是什么,而不仅仅是SUBSTR
,或REGEXP_LIKE
而不是LIKE
等等。
例如:
SELECT lastname
FROM address
WHERE REGEXP_LIKE (phone, '415+');
VS
SELECT lastname
FROM address
WHERE phone LIKE '415%' ;
是否存在REGEXP更有益的不同情况?我最近开始学习这个材料,但到目前为止只学习了substr,instr,就像......没有使用REGEXP,但是已经看到大多数人使用REGEXP。
答案 0 :(得分:1)
通常like
更快且ANSI标准SQL。
通常regexp_like()
更强大,并非所有数据库都支持正则表达式(更不用说regexp_like()
)。
顺便说一句,你的两个条件并不相同。如果您希望电话号码以415开头,则正则表达式为:
WHERE REGEXP_LIKE(phone, '^415');
您的版本会匹配phone
中任何位置有415的数字,而不仅仅是在开头。 +
没有做任何事情。