Select * from 表 wher 1=1 相当于 select * from 表
Select * from 表 wher 1=2 相当于 select top 0 * from 表

解决方案 »

  1.   

    相当于无条件.Select * from 表 wher 1=1 与 select * from 表结果一致
      

  2.   

    比如您在程序里根据客户不同的选择或输入来给SQL语句加条件,那么那个条件是WHERE后的第一个呢?第一个是不用AND(或其他关系符号)!当然可以自己判断是否有其他条件!但是如果WHERE后有一个条件(而这个条件对以下的条件不影响,如1=1啊,A=A等等),那么就不用判断哪个条件是第一个条件了!直接加上自己的条件就可以了!
      

  3.   

    1=1    ==== true
      

  4.   

    用1=1是为了更好的控制流程.比如有N个参数需要传递,又是模糊查询(条件可有可无),当判断时,用1=1 就会省掉很多复杂的流程.
    比如
    declare @str varchar(80)
    declare @str1 varchar(80)
    if @a=''
      set @str1='1=1'
    else
     set @str1=@str
    exec('select ..... from ..  where '+@str1)