MySQL查询匹配某个字段,但删除所有非数字字符
在MySQL 8.0中,您可以在比较之前使用functionREGEXP_REPLACE()排除所有非数字字符,例如:
SELECT *
FROM Contacts
WHERE REGEXP_REPLACE(phoneNumber, '[^0-9]', '') LIKE '%123555%'
正则表达式的'[^0-9]'意思是:除了数字以外的所有东西。使用此技术,您无需明确列出要忽略的每个字符。
还有一种方式:
SELECT * FROM Contacts
WHERE replace(replace(replace(replace(phoneNumber, '(', ''), ')', ''), '-', ''), ' ', '') LIKE '%123555%'
赞0
踩0