首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sql中替代1=2的方法

在sql中替代1=2的方法
EN

Stack Overflow用户
提问于 2014-09-09 13:28:29
回答 3查看 200关注 0票数 0

有没有其他更优雅的1=2表达式可以用于sql中的where子句?

类似于WHERE false的东西

在谷歌上找不到答案。

编辑:

在C++等语言中,表达式(1==2)和0是等价的,为什么TSQL不接受falsetrue作为条件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-09 13:49:16

那么,TSQL将WHERE子句定义为具有各种“复合”的WHERE <search_condition>?排除“表达式结果”的语法。以下是条件“的参考资料。

False4是表达式的结果。

您所期望的可能更符合逻辑,因为WHERE充当一个输入/输出门,当然,计算出的任何"search_condition“都代表一个布尔值。但是对于TSQL,它必须是"search_condition“,而不是布尔可计算表达式。

Ms-Access以您提到的方式工作,其中WHERE子句只起作用,是的,只对表达式的计算起作用。

这在Ms-Access中是有效的。

代码语言:javascript
复制
where false                --  excludes all
where 4                    --  includes all, as casts to true
where mycolumn = 'aa'      --  depends on mycolumn content
票数 1
EN

Stack Overflow用户

发布于 2014-09-09 13:36:39

首先,我认为1=2本身是优雅的。因此,您需要确切地指定在何种情况下或如何使用它。接下来,1=2指定一个假条件(您已经知道了)。这主要是在您想要检查一个假条件时使用的,比如您想要创建表的架构而不复制数据。一个类似的东西是1=1,它用于真条件。

此外,就性能而言,我认为1=2将是一个更好的选择(但我不能百分之百肯定)

票数 1
EN

Stack Overflow用户

发布于 2014-09-09 13:37:26

您还可以在where子句中使用false关键字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25745897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档