select * from a,b
  where a.id like b.id+'%'这样能进行最大匹配呢???

解决方案 »

  1.   

    这样的写法相当于(除非a.id = b.id,否则是查询不出结果的):
    select * from a,b
    where a.id = b.id+'%'
    可尝试以下写法:
    select * from a,b
    where CHARINDEX(a.id, b.id) = 1
      

  2.   

     select * from a,b
      where a.id like cast(b.id as varchar(100))+'%'
    需要注意下其他情况,id一般是数值型的。
    如果这个应用复合你的要求,就是最大匹配了,如果在前面加上通配符%,那么匹配的更多
      

  3.   

    感谢回复,不是的确实是模糊查询的,CHARINDEX也是不能最大回匹配的select * from a,b
    where a.id like b.id+'%'
      

  4.   

    不是的,举个例子如果a里面是22.cc.cc ,b里面是22.以及22.cc会2个都匹配的。