mariadb 用(-)符号比较两个表中的电话号码[duplicate]

5jvtdoz2  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(117)

此问题在此处已有答案

MySQL search to ignore hyphens(3个答案)
四个月前关门了。
这是我的查询,用于从MAJ中选择存在于表用户中的表。但是,两个表都有两个不同的格式编号要比较。
用户中不为tel的电话号码带有(-)符号,例如:019-9910922,MAJ中的电话号码不带有该符号,例如:019 - 9910922。
有没有其他方法或解决方案,我可以比较电话号码(notel)在正确的方式?

SELECT * FROM MAJ WHERE EXISTS ( select * from user B WHERE A.notel = B.notel) AND SUBSTR('notel', 7,5);
ogq8wdun

ogq8wdun1#

您可以使用REPLACE mysql函数在比较过程中删除
我无法理解您的哪个表(A或B)是带有-的表,但假设是B,则您的查询将变为类似于

SELECT * FROM MAJ WHERE EXISTS ( select * from user B WHERE A.notel = REPLACE(B.notel, "-", "")) AND SUBSTR('notel', 7,5);

焦点部分是

REPLACE(B.notel, "-", "")

您只需取原始值(其中包含-),并将-替换为空。
这样你就可以比较数字了。

相关问题