需要帮助来编写搜索查询

时间:2011-11-09 04:33:41

标签: php mysql sql

我的数据库包含varchar类型的电话号码列表。电话号码可以采用任何格式

12323232323
1-232-323 2323
232-323-2323
2323232323

而不是符号可能有( ) , .space 如果我搜索12323232323,1-232-323 2323,232-323-2323或2323232323,它应显示所有这些结果。我需要为此写一个查询。

3 个答案:

答案 0 :(得分:10)

我认为实时做这个效率不高,我提出了两种选择。

  1. 清理数据,因此只有一种格式。

  2. 添加另一个包含干净数据的列,因此当您搜索时,搜索此列,在显示时您可以显示各种格式数据。

答案 1 :(得分:2)

我同意James的意见,但如果你真的需要按原样搜索数据库,那么MySQL的REPLACE运算符可能会让你到达目的地。像

这样的东西
select * from mytable where replace(crazynumber,'-','')='23232323';

答案 2 :(得分:1)

How to Replace Multiple Characters in SQL?

Can MySQL replace multiple characters?

同意James,但如果你真的需要这样做,上面两个链接已经为你的场景提出了完美的解决方案。