目前,我使用以下嵌套REPLACE
函数删除所有非数字字符和间距。这使我能够比较数据库上的电话号码,而不必担心输入的电话号码是否包含非数字值
SQL示例:
SELECT * FROM myTable
WHERE replace( replace( replace( replace( replace( TelephoneCol, ' ', '' ), '-', '' ), '(', '' ), ')', '' ), '+', '') = '01254566876'
上述查询效果很好,如果数据库中的电话号码格式为(0) 1254566876
,则会找到匹配项。问题是它非常慢。是否有REGEX
或更好的方法从数据库中选择一个已删除所有非数字字符的值?
我正在使用自定义PDO函数来解析sql
字符串。我没有使用弃用的mysql函数。