【发布时间】:2015-02-09 19:11:44
【问题描述】:
当用户输入电话号码的一部分时,我需要比较并查找该部分电话号码的匹配记录。我遇到的问题是每个人输入电话号码的方式不同。
(555) 123-4567
(444)333-2222
1.800.876.9000
1-555-333-1111
etc. etc. and on and on.
所以我的想法是,如果有办法从数据库中的字段中删除任何和所有标点符号,我就可以轻松地与用户选择搜索的任何内容进行比较...555、9000 或 123。
有没有办法:
SELECT * FROM person WHERE {only the digits of the phone column} LIKE '%searchValue%'
【问题讨论】:
-
试试
RegExp命令。看这里:dev.mysql.com/doc/refman/5.0/en/pattern-matching.html -
您可以在将其保存到数据库之前删除这些符号或强制用户使用给定格式之一
-
@ExpectoPatronum 恕我直言,这根本不是一个选择