zhouer 发表于 2018-10-22 09:02:57

sql where 1=1 和1=0-marsng

  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;创建一个新表,而新表的结构与查询的表的结构是一样的。

页: [1]
查看完整版本: sql where 1=1 和1=0-marsng