oracle 下  B.BRAN IN ('003') 和B.BRAN LIKE '%003%' 差别很大,请大家解释一下吧?B.BRAN IN ('003') 返回8689行
B.BRAN LIKE '%003%'  返回7599行,

解决方案 »

  1.   

    B.BRAN IN ('003') 返回8689行   -------等于 BRAN = '003'
    B.BRAN LIKE '%003%' 返回7599行,------这个是左右模糊等于 '003'
      

  2.   

    B.BRAN IN ('003')   B.BRAN='003'
    B.BRAN LIKE '%003%' B.BRAN模糊关键子003
      

  3.   

    我觉得用模糊LIKE '%003%'  是不是应该返回的记录行数多一些啊,因为各种情况他都符合,
    而BRAN IN ('003') 相对条件严格一些,应该返回的行数少一些,但是实际情况却相反。
      

  4.   

    B.BRAN ('003') 返回8689行
    B.BRAN LIKE '%003%' 返回7599行
    上面两个明显不等价下面两条件等价
    INSTR(B.BRAN,'003')>0
    B.BRAN LIKE '%003%'