sql - PostgreSQL 布尔比较
问题描述
下面的对比有没有区别
#1
where x = true
#2
where x is true
#3
where x = '1'
#4
where x
解决方案
这与
WHERE x
它是
TRUE
,FALSE
或者NULL
确切地x
是什么时候。这与第一种情况相同,除了何时
x
为 NULL,在这种情况下它将为FALSE
。所以它是一样的WHERE coalesce(x, FALSE)
这恰好与第一种情况相同,因为
'1'
被解释为TRUE
. 请参阅文档:type 的 datatype 输入函数
boolean
接受“true”状态的这些字符串表示:true
yes
on
1
我首选的方法是最简单的:
WHERE x
推荐阅读
- ios - 如何在collectionView swift中的每2行之后添加一个自定义视图
- java - 期望 n 个浮点数总和为 1 的合适容差是多少
- python - 正则表达式无法匹配python中的特殊符号
- node.js - npm file-saver 的 saveAs() 在从 localhost 服务器传输文件时工作,但在从云机器传输文件时不起作用
- cassandra - Cassandra修复导致节点超时
- python-3.x - ValueError:形状(993,228)和(1,228)未对齐:228(dim 1)!= 1(dim 0)
- ios - iPhoneX 上的状态栏时钟已被截断
- yii2 - yii2中更新表单中的多个提交表单
- haskell - 过滤后在type1中转换Maybe type1
- c# - 我怎样才能使功能继续运行