【发布时间】:2013-07-17 06:49:54
【问题描述】:
我正在尝试将纯数字的数值与我的数据库中的另一个值匹配,该值是相同的数字但具有符号等(它是电话号码)。
如何让 MySQL 仅将 mainNumber 列(其中包含符号等)的正则表达式与我的值(仅数字)匹配?
下面是我的代码:
$SQL = "SELECT entities.name
FROM entities_main_numbers
LEFT JOIN entities ON entities.id = entities_main_numbers.entityId
WHERE mainNumber = ?
LIMIT 1";
例如+44 (0)800 123 123 匹配 440800123123
【问题讨论】:
-
你能举出具体的例子吗?
-
@Akam 请参阅编辑。
-
是 +44 来自用户输入还是数据库中的内容?
-
最好在数据库中有一个用于清理版本的列;即使您设法即时清理,您也失去了使用索引的任何机会。
-
你可以用 REPLACE(val, ' ' ,'') 匹配右边 9 个字符的字符串