我想搜索一個外包表,誰有電話列,但在數據庫中的電話號碼沒有架構。 因此,電話號碼是varchar,並有很多字符(例如:「」, - ,+,/)顯示/只喜歡的號碼(電話號碼選擇)
做到這一點mysql查詢什麼可以只喜歡在varchar數字?
Example:
input: 30321321
Database:
+36-30/321 32-1
70/32132131
0630-32-13-21
我的想法:
Select * from foo where phone like "%3%0%3%2%1%3%2%1%";
只是這是醜陋和資源密集型。 數據庫有100000行和2個電話列。
有什麼更好的想法嗎?
你可以嘗試比賽(電話)反對嗎?但你需要確保你的數據庫是在全文索引的格式:)更好的解決方案將是 select * from foo WHERE phone REGEXP'pattern' – bonCodigo
您可以添加一個新的列,只存儲數字,並使用專欄搜索? – MikeSmithDev