SQl查询语句里的where 1=1是什么意思?

解决方案 »

  1.   

    where 1=1  这是写法上一个小技巧,好让动态SQL语句直接加上And 语句.
      

  2.   

    这个东东
    我经常用
    比如:
    if (@Unit)="-1"set @Unit="1=1"
    else
    set @Unit="ManaUnit="+@Unit
      

  3.   

    where 1=1  这是写法上一个小技巧,好让动态SQL语句直接加上And 语句.
    这个东东
    我经常用
    比如:
    if (@Unit)="-1"set @Unit="1=1"
    else
    set @Unit="ManaUnit="+@Unit这两个说话都对.
      

  4.   

    我们以前经常这样用,是因为这样的:在代码中组织复杂的sql时,有多种的条件在where 项中,每个条件可能都是可选的,如:where 1=1 and (name like '%鱼') and (date>'2006-5-28')
    但是因为这2个条件是可选的,在把条件连接起来的时候用1=1 就可以讨巧的处理"and"的问题,正如前面所说的,这只是一种技巧而已,可以动态组织sql,我觉得没必要深究1=1的问题。啰嗦了点,呵呵
      

  5.   

    如果不用 1=1会怎样?和and 连在一起起什么作用,还是没明白
      

  6.   

    hxhyuethoi (hxhyuethoi) ,1=1,实际就是条件为真,例如 IF 1 =1 THEN .....,这实际就是强制执行。在and 连在一起起什么作用?youyu111(子柚) ( ) 兄说的好,那只是一种处理技巧。
      

  7.   

    如果你有很多可选的查询条件,而又不知道会有几条的话,可以在where里添加个1=1,以免如果你的待选查询条件一个也没有的话会出现where后面为空的情况.
      

  8.   

    其实是编程人员偷懒的一种做法。为了不用判断是否是第一个条件,该用where 还是用and 所以干脆加一个 where 1=1 ,这样所有的条件都可以直接用 and ? 了。
      

  9.   

    这不仅是偷懒而已,这样做还能减少bug。