mysql - 获取地址列表没有英国地址 mysql
问题描述
我有一个 MySQL 表包含英国地址列表,我试图获取地址列表没有邮政编码。
在列表中,我们可以看到其中一些最后没有邮政编码。
我写了一个查询如下,并没有得到预期的结果。
select * from property_address WHERE property_address
REGEXP '^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$'
如何修复此查询开始工作?
解决方案
我会假设邮政编码正则表达式是正确的。
REGEXP '^([A-PR-UWYZ0-9]...|GIR 0AA)$'
______ _
您需要删除^
我在上面强调的“锚”( )。这不是“不”。相反,因此否定:
NOT REGEXP '([A-PR-UWYZ0-9]...|GIR 0AA)$'
___ _
Akina 提出的先提取 via 的建议SUBSTRING_INDEX
可能会使查询更快。
推荐阅读
- fortran - 如何确定 Modern Fortran 中的时间步数
- node.js - 如何修复 aws ec2 服务器上的错误“无法打开浏览器进程”?
- r - Dplyr:从字符向量中添加多个具有变异/交叉的列
- java - 当我运行以下 servlet 时,在我的 Web 浏览器中得到一个空白页作为输出
- json - 基于 JSON Schema 的文档
- c# - 恢复 SQL Server 数据库失败 SMO C#
- java - Criteria API 如何编写 = ANY(?1) 表达式?
- android - 在 Jetpack Compose 中创建“嵌套”菜单的更好或更简单的方法是什么?
- c# - 调整图像大小以存储在数据库中 - ASP.NET
- python - 由 webmin cron 运行时无法从 python 启动 gnome-terminal