MySql(正则表达式--电话号码格式校验)

20.在一张contacts表中,存储了用户的联系信息。请查询出所有符合以下条件的电话号码,并按id升序输出所有字段:

  1. 电话号码必须是 10 位数字。
  2. 电话号码的第一位不能以 0 开头。
  3. 电话号码的格式可以是连续的 10 位数字,或以-分隔的格式(如123-456-7890)

表contacts

id name phone_number
1 Alice 1234567890
2 Bob 0123456789
3 Charlie 123-456-7890
4 David 123-4567-890
5 Eve 9876543210

输出

id name phone_number
1 Alice 1234567890
3 Charlie 123-456-7890
5 Eve 9876543210
sql 复制代码
SELECT id,name,phone_number
FROM contacts
WHERE phone_number regexp '^([1-9][0-9]{9}|[1-9][0-9]{2}-[0-9]{3}-[0-9]{4})$'
ORDER By id
--^:匹配字符串开头
--$:匹配字符串结尾
--|:表示或,匹配两种格式中的任意一种
--连续10位数字的格式:[1-9][0-9]{9}
-- -:分隔符
--前3位(第一位非0):[1-9][0-9]{2}
--中间3位:[0-9]{3}
--最后4位:[0-9]{4}
相关推荐
van久1 小时前
Day29:Redis 缓存实战
数据库·redis·缓存
.柒宇.1 小时前
Redis哨兵模式详解
数据库·redis·bootstrap
重生之小比特1 小时前
【MySQL 数据库】复合查询
android·数据库·mysql
夕除1 小时前
spring boot --07
数据库·sql
Elastic 中国社区官方博客1 小时前
Elasticsearch:为 AI Agent builder 创建 skill plugin
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Data_Journal1 小时前
2026年十大数据集网站
大数据·开发语言·数据库·人工智能·python
珠海西格电力1 小时前
如何实现零碳园区管理系统“云-边-端”架构的协同
大数据·数据库·人工智能·架构·能源
XS0301061 小时前
JDBC实现数据库增删改查
数据库
茉莉玫瑰花茶2 小时前
LangGraph 入门教程:构建 AI 工作流 [ 案例一 ]
数据库