【发布时间】:2018-04-17 00:38:48
【问题描述】:
编写查询以显示电话号码第 5 位为“5”的所有联系人的名字、城市、州和电话号码。根据 first_name 以升序显示记录。 注意:使用 REGEXP_SUBSTR()。
我需要有关如何使用正则表达式检查第 5 个字符是否为 5 的帮助 这是我目前所拥有的:
SELECT first_name, city, state, phone_number
FROM contact
WHERE REGEXP_SUBSTR(phone_number, '^([[:digit:]]{4})([[:digit:]]{1})([[:digit:]]{4})',\1\2\3)
ORDDER BY first_name ASC;
【问题讨论】:
-
欢迎来到 SO。请花点时间阅读How to Ask。这不是私人编码服务。如果您希望有人帮助您,请付出一些努力和minimal reproducible example
-
为什么是 regexp_substr?旨在匹配模式的 regexp_like 在这里似乎更合适:
where regexp_like(phone_number, '^.{4}5') -
赋值要求使用 REGEXP_SUBSTR()。编辑器似乎将所有其他方式都标记为错误