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}
相关推荐
逸Y 仙X1 分钟前
Spark SQL
java·大数据·sql·spark
码农颜2 分钟前
6.4.1 监听连接
java·数据库·mysql
桐桐桐10 分钟前
Python 实战:批量生成带来源参数的 WhatsApp 短链 + 二维码
服务器·数据库·python·前端框架·ip·跨境电商·独立站
stereohomology24 分钟前
AI解读:某IM软件本地数据库密钥提取与解密
数据库·攻防·加密解密·数字平权
zzzll111127 分钟前
大模型技术原理与应用实践
java·数据库·人工智能
倔强的石头_28 分钟前
数据库迁移工具从单机作业走向云端协同
数据库
yours_Gabriel31 分钟前
【一】数据库基础:SQL语句、函数、约束、多表查询、事务
数据库·sql·oracle
Wang's Blog36 分钟前
PostgreSQL笔记58: 性能监控工具全景——从内核指标到操作系统诊断
数据库·笔记·postgresql
智购科技智能售货柜9 小时前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
ltl10 小时前
RocksDB 架构演进:相对 LevelDB 的 diff 地图
数据库