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}
相关推荐
Elastic 中国社区官方博客1 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
红海云2 小时前
Jev:给智能系统做判断的模型
大数据·数据库·人工智能
wjkjpcba2 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭2 小时前
达梦事物特性及MVCC
linux·运维·数据库
小马同学-3 小时前
MySQL主从复制和读写分离
数据库·mysql
谢亮_vipxieliang3 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
海绵宝宝转agent3 小时前
MySql高频面试八股开源笔记总结
mysql·面试·开源
geovindu4 小时前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
IT大白鼠4 小时前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
余槐i4 小时前
数据没回滚也不报错:@Transactional 自调用失效的 3 种复现与修复
spring boot·mysql·多线程·spring 事务