题目描述
在一张contacts表中,存储了用户的联系信息。请查询出所有符合以下条件的电话号码,并按id升序输出所有字段:
- 电话号码必须是 10 位数字。
- 电话号码的第一位不能以 0 开头。 *
- 电话号码的格式可以是连续的 10 位数字,或以-分隔的格式(如123-456-7890)
解题思路
使用正则表达式 -- regexp
① 匹配纯数字: '^[1-9][0-9]{9}$'
② 匹配分隔符形式:'^[1-9][0-9]{2}-[0-9]{3}-[0-9]{4}$'
^表示开头, $表示结尾,{n}表示出现次数
提交代码
select id, name, phone_number
from contacts
where phone_number regexp '^[1-9][0-9]{9}$' -- 注意1开头
or phone_number regexp '^[1-9][0-9]{2}-[0-9]{3}-[0-9]{4}$' -- 注意1开头

京公网安备 11010502036488号