T-SQL中的where 1=1

这段代码应该是在程序(例如在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。

猜你喜欢

转载自www.cnblogs.com/shmilyWei/p/9028769.html