gpt4 book ai didi

MySQL 搜索一个字段但删除所有非数字字符

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:36 25 4
gpt4 key购买 nike

是否可以搜索一个表但预先格式化查询中的字段以仅匹配数字...例如,我将电话号码存储为 (123) 555-1234

当有人搜索 LIKE '%123555%' 时,如您所见,它不会返回。

如何编写一个 sql 查询来在搜索之前预先格式化字段值...

SELECT * FROM Contacts WHERE FormatFieldHere(phoneNumber) LIKE '%123555%'

最佳答案

在MySQL 8.0中,可以使用function REGEXP_REPLACE()在进行比较之前去掉所有非数字字符,例如:

SELECT * 
FROM Contacts
WHERE REGEXP_REPLACE(phoneNumber, '[^0-9]', '') LIKE '%123555%'

Regexp '[^0-9]' 表示:除了数字以外的所有内容。使用这种技术,您无需明确列出要忽略的每个字符。

关于MySQL 搜索一个字段但删除所有非数字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55582199/

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