T-SQL中的where 1=1

Posted shmilywei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

以上是关于T-SQL中的where 1=1的主要内容,如果未能解决你的问题,请参考以下文章

如何缩短 T-SQL 中的 WHERE 子句

使用T-SQL语句操作数据表-删除数据

关于 Where 子句的 T-Sql 多重标准

T-SQL: where xxx IN 临时表

T-SQL 过于昂贵的查询,在 where/have 条件和复合主键中选择

SQL Server - where + TVF/SVF、交叉应用、T-SQL