【发布时间】:2014-08-24 11:51:17
【问题描述】:
谁能解释一下为什么我们在 SQL 选择查询中使用where 1=1?
Select * from <TableName>
Where 1=1
<cfif isdefined('Something)>
AND columnName = value
</cfif>
【问题讨论】:
标签: sql coldfusion
谁能解释一下为什么我们在 SQL 选择查询中使用where 1=1?
Select * from <TableName>
Where 1=1
<cfif isdefined('Something)>
AND columnName = value
</cfif>
【问题讨论】:
标签: sql coldfusion
工具经常使用它来让他们将 AND some_other_condition 附加到查询中,而不必担心这是否是第一个谓词。
如果你写
SELECT * FROM A
...要添加谓词,您需要附加“WHERE C1=1”,但添加第二个谓词将附加“AND C2=1”
但是如果你写
SELECT * FROM A WHERE 1=1
...您可以只为第一个附加“AND C1=1”,为第二个附加“AND C2=1”
【讨论】:
我已经看到并使用了“Where 1 = 0”来创建一个具有相同架构但没有任何数据的新表。但这一个逃脱了我。此处不需要 where 子句,无论有无 where 子句,查询都会给出相同的结果。
【讨论】: