为什么需要 IS TRUE 运算符?

问题描述 投票:0回答:1

某些 SQL 方言(例如 BigQuery)具有

IS [NOT] TRUE|FALSE
运算符。这有什么意义呢?例如,不能只做
val=TRUE
val!=TRUE
吗?如果上面的运算符只接受布尔值输入,它会给我们带来什么好处?

我可以看到它对于像 Databricks 这样的东西很有用,它允许像

'1'
1
'y'
这样的东西,但上面的似乎不是很有用。我想它所做的一件事就是给出
NULL
的预期结果?例如:

select
  true is true,
  false is true,
  null is true

# true | false | false
sql google-bigquery
1个回答
0
投票

正如@Martin Smith 所评论的,

is [not] (true\|false\|unknown)
的主要用途是使用三值逻辑。它可用于直接测试所有三个真值

将答案发布为社区 wiki,以造福于将来可能遇到此用例的社区。请随意编辑此答案以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.