SQL语句中的where 1=1 和0=1

SQL where 1=1 和0=1的作用

 where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。

举个例子,如果您做查询页面,让用户自行选择并输入查询关键词,代码大体如下:  

 string MySqlStr=”select * from table where”;  

     if(Age.Text.Lenght>0)   {  

         MySqlStr=MySqlStr+“Age=“+“'Age.Text'“;

    }if(Address.Text.Lenght>0){  

       MySqlStr=MySqlStr+“and Address=“+“'Address.Text'“;

   }  

如果上述的两个IF判断语句不成立,那么,最终的MySqlStr动态构造语句变为:   MySqlStr=”select * from table where“   该语句就是一条错误的语句 。

where 1=0; 这个条件始终为false,结果不会返回任何数据,只有表结构,可用于快速建表 "SELECT * FROM strName WHERE 1 = 0"; 该select语句主要用于读取表的结构而不考虑表中的数据,这样节省了内存,因为可以不用保存结果 集。   create table newtable as select * from oldtable where 1=0;  创建一个新表,而新表的结构与查询的表的结构是一样的。

猜你喜欢

转载自blog.csdn.net/lala12d/article/details/83047330