摘自:http://blog.sina.com.cn/s/blog_afe616ab0101camd.html
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; 创建一个新表,而新表的结构与查询的表的结构是一样的。