【问题标题】:why we are using 1 = 1 in SQL select Query [duplicate]为什么我们在 SQL 选择查询中使用 1 = 1 [重复]
【发布时间】: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


    【解决方案1】:

    工具经常使用它来让他们将 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”

    【讨论】:

    • 我的投票让你的声望超过2000。你欠我一杯啤酒。
    • @Dan Bracuk:非常感谢。
    • @mc110 谢谢你!得到了我的答案。
    【解决方案2】:

    我已经看到并使用了“Where 1 = 0”来创建一个具有相同架构但没有任何数据的新表。但这一个逃脱了我。此处不需要 where 子句,无论有无 where 子句,查询都会给出相同的结果。

    【讨论】:

    • 这是评论而不是答案。您需要等到您的声望达到 50 才能评论您自己的帖子以外的帖子。
    • 我是新来的,你们一直把我降到零也无济于事!
    • 如果您将 cmets 作为答案发布,它们将被否决并最终被删除。您需要发布实际答案,直到您有足够的声誉发布 cmets;在此之前你不能发表评论。
    • 我投了赞成票,他的回答也帮助我了解了 1 = 0 的其他方面
    • 我投票赞成,因为我是一个糟糕的 Stack Overflower。 where 1 = 0 的另一个用途是,它使您能够使用“或 this = that”条件来跟随它。
    猜你喜欢
    • 2010-10-05
    • 2020-12-21
    • 1970-01-01
    • 2021-09-18
    • 2018-04-25
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多