仅使用mysql搜索数字

时间:2011-04-19 15:18:13

标签: c# asp.net mysql asp.net-mvc-3

我在ASP.NET MVC 3中有一个项目和一个包含电话号码字符串值表的mysql数据库(这个电话号码可以存储为123 456-789或12345 6789或123456789或用户输入他的任何方式数字)和其他表格,包含该用户的关键字数据。 问题是我有一个搜索,可以在关键字表(全文表)中找到用户,但我正在编写一种方法,如果搜索查询与某些正则表达式匹配,则在电话表中搜索。 我有两个问题: - 怎么可能是C#代码端的正则表达式告诉执行什么方法(SearchByKeyword或SearchByNumber)? - 我认为使用相同的正则表达式,我必须在手机表中搜索mysql查询...我该怎么做?

如果我的英语有点不好,我希望我已经解释得很好并且抱歉。

2 个答案:

答案 0 :(得分:1)

最好是捕获数据以标准化保存的格式,IE:

111-111-1-111-11
1111-1111-1111
111111111111
1-1-1-1-1-1-1-1-1-1-1-1

全部保存为

111111111111

然后,您可以执行简单的LIKE查询:

SELECT * FROM tblNumbers WHERE number LIKE '%111%'

答案 1 :(得分:1)

我想说从输入中输入电话号码是个坏主意 - >直接查询变量。

更好的方法是:

input -> parser, error check procedure -> MySQL query request.

在将您的电话号码添加到查询之前 - 您可以删除所有额外的符号,例如(,), - ,“空格”等。