1. 程式人生 > >SQL語句中的where 1=1 和0=1

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