根据配置单元语言手册,FALSE OR NULL
应该评估为NULL
,但我得到了
FAILED: ClassCastException org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableVoidObjectInspector cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.primitive.BooleanObjectInspector
我可以使用IF()
解决这个问题,但为什么不起作用?
select a or b from (select cast (null as boolean) as a, false as b from test) x;
OK
_c0
空
其中测试是一个伪表。
根据手册,您附加了"FALSE OR NULL is NULL"而不是FALSE。