SQL語句中的where 1=1 和0=1
阿新 • • 發佈:2018-12-15
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; 建立一個新表,而新表的結構與查詢的表的結構是一樣的。