Select * From T_RedTemplate_Type Where 1 = 1这条SQL语句中的条件是什么意思?

解决方案 »

  1.   

    Select * From T_RedTemplate_Type等同于
      

  2.   

    这两句是一个意思         where 1=1  就是无论如何都会成立
      

  3.   

    可能是为了动态拼接SQL字条串中用的吧
    if(..) sql += " and ...."如果没有前面这个1=1 ,那语法就会出错
      

  4.   

    有时候为了拼接语句
    string sql="Select * From T_RedTemplate_Type Where 1 = 1";
    if(name!=""){
       sql+=" and name ="+name;
    }
      

  5.   

    不过你要明白为什么用1=1?
    1个是为方便拼接字符串,更多的参考
    http://database.51cto.com/art/201009/224930.htm
      

  6.   

    有可能后面还要拼一些 and XXX 之类的条件。  
      

  7.   

    Select * From T_RedTemplate_Type Where 1 = 1 和  Select * From T_RedTemplate_Type是一个意思 where 1=1 代表无论什么条件都成立,因为后面还可以跟着可有可无的其他条件,所以要用到where 1=1,给你个例子,或许会对你了解更有帮助
     public DataSet GetList2(string strWhere)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select A.ID,A.User_ID,A.User_Name,B.Depart_Name ");
                strSql.Append(" FROM tbl_SS_UserTea as A left outer join  tbl_SS_DepartManagement as B on A.FK_Department_Depart=B.PK_Depart_Num where 1=1");
                if (strWhere.Trim() != "")
                {
                    strSql.Append(" and " + strWhere);
                }
                return Common.Query(strSql.ToString());
            }
      

  8.   

    恒真表达式.方便SQL语句的拼接
      

  9.   

    Select * From T_RedTemplate_Type
    就是条件很成立
      

  10.   

    Select * From T_RedTemplate_Type
      

  11.   


    Select * From T_RedTemplate_Type 跟这样写没什么区别吧
      

  12.   

    有点区别的,where 1=1是为了判断下面追加的条件 and,防止出现重复的and或不知道什么时候加and.
      

  13.   

    sql注入时用where 1=1 哈哈
      

  14.   

    等同于Select * From T_RedTemplate_Type
    where 1=1 用于拼接后面的查询条件
      

  15.   

    解释:如果一等于一的话,那么就是查出表T_RedTemplate_Type里的所有数据,即楼主的“Select * From T_RedTemplate_Type Where 1 = 1”
      

  16.   

    相当于 Select * From T_RedTemplate_Type   
     1=1 只是一个为真的条件
      

  17.   

    这样做是为了代码后面有可能还要加更多的 where条件(而且是不固定的).如果不加上 where 1=1
    那么后面的代码就必须判断 已有的SQL语句中是否存在 "where" 命令字符.这样就会很麻烦.
      

  18.   

    与是一个意思Select * From T_RedTemplate_Type
    至于为什么后面加个where 1=1呢,
    原因是这样的,就是为了好在后面添加 and ....这类的条件,用字符串拼接的方法去加的。
    如果直接写Select * From T_RedTemplate_Type 的话后面肯定就不可能 再添加and...  条件了吧
      

  19.   

    这方便后台条件查询的时候,不用再加上where字段,如果后台有很多个and,这样的话就不需要判断前面是不是已经有where这个关键字,不然会报错。
      

  20.   

     Select * From T_RedTemplate_Type  where 1=1 和Select * From T_RedTemplate_Type 意思一样,只是有时候程序里面要添加其他条件,加上1=1方面点。