SQL存储过程中的“WHERE 1 = 1”

时间:2010-11-01 01:57:51

标签: sql sql-server stored-procedures

  

可能重复:
  Why would someone use WHERE 1=1 AND <conditions> in a SQL clause?

我的任务是审查一些SQL存储过程,并看到许多看起来如下所示:

SELECT 
  X, Y, Z 
FROM 
  Table
WHERE 
  1 = 1
ORDER BY
  X

为什么有人会对where子句使用'1 = 1'?

谢谢!

2 个答案:

答案 0 :(得分:7)

在动态SQL中很常见,以便为WHERE子句附加其他条件。否则,它没用,优化器会忽略它。

答案 1 :(得分:2)

可能动态地向where子句添加条件。