我正在做一个手机号选号网站,需要高级搜索号码:
手机号码11个R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11代表11个号码
我设计了11个空格让别人输入任意位置的任意多个号码
这样来查询
请问怎么查?
1 * * * * 8 * * 8 * 8(比如这样我查第一位,第6、9、11位)···万分感谢!!!

解决方案 »

  1.   

    http://topic.csdn.net/u/20101124/15/2cebb05c-216d-4f3b-a455-6734aa4f5c62.html
      

  2.   

    like '1____8__8_8'一个下划线代表一个任意字符
    *代表多个任意字符[0-9] 代表0到9十个数字,所以也可以写成 like '1[0-9][0-9][0-9][0-9]8[0-9][0-9]8[0-9]8'可以看看MSSQL的帮助,通配符不仅仅是 * ,还有其他的。
      

  3.   

    % 匹配 *
    _ 匹配 ?SQL Server 2005+  还可以使用正则表达式。
      

  4.   

    like ‘%1%’ 1的前后匹配多个  
    like '_1_' 1的前后匹配一个
      

  5.   

    对不起,在下愚钝。(仅仅自学了2个月,所以太菜了)
    哪位大侠帮我从数据库的存储方法和思路总得给我说一下
    还弱弱的问一下,能不能用sqldatasource控件来进行设置呀?能的话怎么设置?
    不能的话代码怎么写?
    在此万分感谢大侠们!!!叩谢!我这样设计的:有11个textbox控件用来输入11个号码的任意几位__  __  __  __  __  __  __  __  __  __  __,我们预先不知道别人会输入哪几位,不知道哪几位是空着的。请各位帮忙
      

  6.   

    用正则的话,SQL2000没有这个功能,sql20005有,这样程序移植性不好。
    如果用字符串查询的话,效率太低。
    我觉得应该建立11个字段,字段类型TinyInt,对应手机号的每一位,这样效率最高也最简单。
    http://www.housemi.com
      

  7.   


    select *
    from numbers
    where (SUBSTRING(n, 0) = @n0 or @n0 = '')
    and (SUBSTRING(n, 1) = @n1 or @n1 = '')
    ...
    (SUBSTRING(n, 10) = @n10 or @n10 = '')@n0 传入 textbox0 的值,@n1 传入 textbox1 的值,其他的类推。
      

  8.   

    SUBSTRING(n, 0)----->SUBSTRING(n, 0, 1)