table1表中有字段code,code的值为数字形式的字符串.如:1001,100101,100102,1002,100201,100202...
现求一句SQL,要查出以1001开头~1002开头这个范围之间的所有行.怎么写?请高手指点.

解决方案 »

  1.   

    select * from table1
    where code like '1001%' or code like '1002%' 
      

  2.   

    没有这么简单啊.我刚才是举了个例子.1002不是固定的,也可能是求1001~1007,或是1001~4001之间的范围的呢.
    其实应该是属于范围之间的查询的.比如between这样的查询. between '1001' and '4001'.但是这个后面可能会有400101,400102...
      

  3.   

    select * from table1 
    where code >= '1001' or code <= '1004A' 
      

  4.   

    错了是
    select * from table1 
    where code >= '1001%' and code <= '1004A' 
      

  5.   

    是 
    select * from table1 
    where code >= '1001' and code <= '1004A' 
      

  6.   

    哈,楼上的方法好像有戏啊.不过现在还有个问题,我查的时候,code是102的记录也带出来了啊.这个102小于1001,应该是不出来的啊.
    还有,那个A是什么意思啊?应该是怎么用的呀?匹配任意字符串吗?为什么%不行呢?
      

  7.   

    哈,我又加了个起始长度的判断,现在可以了. select * from table1 where code between '1002' and '4001A' and length(code)>=length('1002')不过还是有个小疑惑想请wxmwxmwxm 给我指点一下,就是那个A啊.到底是什么意思呀?
      

  8.   

    你说code的值为数字形式的字符串,A比9呀,你用abc...z ABC...Z 都可以呀