摘自: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; 創建一個新表,而新表的結構與查詢的表的結構是一樣的。