gpt4 book ai didi

mysql - 从电话号码中删除特殊字符并进行比较

转载 作者:行者123 更新时间:2023-11-29 05:07:04 27 4
gpt4 key购买 nike

这是我的表结构:

|id  |Phone_number         
|98 |+91 9033601870
|208 |+44 6547891235
|227 |+93 35465465
|229 |+1 9033601870
|259 |+1 9033601870
|374 |+ 1 97 2- 71 4- 01 17
|375 |+1 972-714-0117
|376 |+92 97271 40117
|444 |+1 888-888-8888
|445 |+1 441-562-3124
|446 |9727140117

现在我想要所有编号为 9727140117

的结果

我试过下面的东西。

SELECT acp.*
FROM `acd_contactlist_phone` acp
WHERE acp.Phone_number like '%9727140117%';

这个查询给我错误的结果。这个查询只给我最后一条记录。

我的预期结果是:

 |id  |Phone_number   
|374 |+ 1 97 2- 71 4- 01 17
|375 |+1 972-714-0117
|376 |+92 97271 40117
|446 |9727140117

当前查询结果是:

 |id  |Phone_number   
|446 |9727140117

最佳答案

您可以使用replace():

SELECT acp.*
FROM `acd_contactlist_phone` acp
WHERE replace(replace(replace(acp.number, ' ', ''), '-', ''), '+', '') like '%9727140117%';

不幸的是,MySQL 没有正则表达式替换或 translate() 函数。

另一种选择是复杂的正则表达式:

where acp.number regexp '9[- +]*7[- +]*2[- +]*7[- +]*1[- +]*4[- +]*0[- +]*1[- +]*1[- +]*7[- +].*'

关于mysql - 从电话号码中删除特殊字符并进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com