'select * from tb_xxx where (日期 >= ''2002-01-01 00:00:00'') and (日期 <= ''2005-12-17 59:59:59'') and (型号=''xx1'') or (型号=''xx2'') or (型号=''xx3'') and ..'
如何变成
'select * from tb_xxx where (日期 >= ''2002-01-01 00:00:00'') and (日期 <= ''2005-12-17 59:59:59'') and ((型号=''xx1'') or (型号=''xx2'') or (型号=''xx3'')) and ..'

解决方案 »

  1.   

    'select * from tb_xxx where (日期 >= ''2002-01-01 00:00:00'') and (日期 <= ''2005-12-17 59:59:59'') and 型号 in(''xx1'',''xx2'',''xx3'')
      

  2.   

    用 in应该可以
    查询用or比较影响效率的,还不如分成多条查询,然后union
      

  3.   

    and (型号=''xx1'') or (型号=''xx2'') or (型号=''xx3'') and 
    变成
    and ((型号=''xx1'') or (型号=''xx2'') or (型号=''xx3'')) and 原来的写法是错误的吧,没注意and的优先级高于or吧