1. 程式人生 > >T-SQL中的where 1=1

T-SQL中的where 1=1

拼接字符串 tab 直接 class ava string SQ 字符 代碼

這段代碼應該是在程序(例如在Java或者C#)中生成的,where條件中1=1之後的條件是通過if塊動態變化的。例如(對於拼接字符串的情況):

  String sql="select * from table_name where 1=1";
  if( conditon 1) {
  sql=sql+" and var2=value2";
  }
  if(conditon 2) {
  sql=sql+" and var3=value3";
  }

where 1=1是為了避免where關鍵字後面的第一個詞直接就是“and”而導致語法錯誤。用上where 1=1之後,就不存在這樣的問題,條件是and就直接and,是or就直接接or。

T-SQL中的where 1=1