mysql - 选择 field1 或 field2 或 field3 与电话号码相同的位置
问题描述
我正在看一张带有 phone1、phone2 和 mobile 的桌子。但是,电话字符串的格式不正确。
电话号码基本上是这样的自由文本:
row1: phone1:19123123123
row2: mobile:+1 912 123 123
row3: phone2:1 912 123 123
row4: mobile:(+1) 912 123 123
row5: phone2:(+1)912-123-123
是否可以编写一个 SQL 查询来查找 phone1、phone2 或 mobile 字段之一是否为 +19123123123,但它需要能够匹配这些自由文本示例中的任何一个?谢谢
因此,在上面的示例中,它应该返回所有 5 条记录,即那些与该电话号码匹配的自由文本,并且位于 3 个字段之一中。
解决方案
假设+
列中只有数字和电话号码,您可以使用:
where regexp_replace(col, '[^+0-9]', '') = '+19123123123'
这将删除不是+
数字或数字的所有内容。
推荐阅读
- javascript - 为什么我在这个 vue.js 示例中得到未定义的属性
- android - Speech-To-Text api 错误通过 AudioRecorder 解析 pcm 文件的编码
- python - 更新单元格值并避免 SettingWithCopyWarning 的最佳方法
- c# - 如何判断 ValidationSummary 是否是从后面的代码触发的?
- powershell - powershell 不理解 trace 作为文本 ex 的一部分。$_.data-action-name
- react-native - 我如何在本机反应中使用里程表?
- arm - 使用 QEMU 安装 ubi 映像时出现问题
- c++ - 固定大小的容器,其中元素被排序,并且可以提供指向 C++ 中数据的原始指针
- assembly - 为什么我会得到另一个结果?
- html - 为什么颜色#e67d22e1 不会在 Safari 中显示?