通配符的灵活用法,是 SQLServer 里一个挺实用的小技巧。配合LIKE关键字用,能帮你做模糊查询,比如查身份证号开头是“110”的记录就方便。你在写约束的时候也能用上它,比如对输入格式做点小校验,防错还挺有用的。嗯,初学 SQL 的同学常常忽略它,但用得顺手,效率高不少。
百分号% 表示任意个字符,比如 LIKE '110%'
就能匹配所有以 110 开头的字段。再比如 LIKE ''
就能找出以 01 结尾的内容。中间也能加 '%中间%'
,查关键词超方便。还有 下划线_,可以代替单个字符,这在身份证校验场景里也挺有用的。
如果你写的是身份证号码的约束表达式,可以考虑用 LIKE '[1-9][0-9]{5}19[0-9]{2}[01][0-9][0-3][0-9][0-9]{3}[0-9Xx]'
这种思路,不过 SQL Server 里不直接支持正则,只能用 LIKE 搭配通配符做基本判断,细节就得靠逻辑判断配合了。
这类查询还挺常见的,像是想通过身份证号查地区、过滤非法数据,基本都离不开它。下面这些资料我觉得你可以瞅一眼,挺全的:
- 中国身份证号码区域查询系统(MySQL 格式)
- 中国居民身份证号码与应用
- 身份证号码地址库 ACCESS 数据库
- 身份证号码与行政区域对应数据
- SYBASE 身份证号从 15 位升级到 18 位方案
- Oracle 身份证号检验函数
- 身份证号地区数据库生成指南
- 身份证城市代码查询 SQL
- 身份证位数升级
- ORACLE_SQL 性能优化合理使用 LIKE 语句通配符
如果你平时写后端数据校验多,可以把这些通配符规则记熟点,写查询语句、做数据会轻松多。