where @aa=1 and field1 like 'a%'
   or @aa=2 and field1 like 'b%'

解决方案 »

  1.   


    这样的效率更高:if @aa=1
      select ...... where field1 like 'a%'
    else
      select ...... where field1 not like 'a%'
      

  2.   

    --或者:
    where case @aa 
    when 1  then case when field1 like 'a%' then 1 else 0 end
    when 2  then case when field1 like 'b%' then 1 else 0 end
    else case when field1 like 'c%' then 1 else 0 end end=1
      

  3.   

    select * from yourtable where field1 like (case @aa when 1 then  'a%' when 2 then '[^a]%' end)