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
正如@Martin Smith 所评论的,
is [not] (true\|false\|unknown)
的主要用途是使用三值逻辑。它可用于直接测试所有三个真值。
将答案发布为社区 wiki,以造福于将来可能遇到此用例的社区。请随意编辑此答案以获取更多信息。