为什么我们在SQL中使用1 = 1选择查询

Raj*_*lal 1 sql coldfusion

任何人都可以解释为什么我们where 1=1在SQL选择查询中使用?

Select * from <TableName>
Where 1=1
<cfif isdefined('Something)>
AND  columnName = value
</cfif>
Run Code Online (Sandbox Code Playgroud)

mc1*_*110 8

工具通常使用它来让它们向查询附加AND some_other_condition,而不必担心这是否是第一个谓词.

如果你写

SELECT * FROM A
Run Code Online (Sandbox Code Playgroud)

...并且想要添加一个谓词,你需要追加"WHERE C1 = 1",但是然后添加第二个谓词会追加"AND C2 = 1"

但如果你写

SELECT * FROM A WHERE 1=1
Run Code Online (Sandbox Code Playgroud)

...你可以为第一个添加"AND C1 = 1",为第二个添加"AND C2 = 1"

  • 我的投票只是把你的声誉超过2000.你欠我一杯啤酒. (2认同)