配置单元1.1.0中的解码函数失败

iqxoj9l9  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(414)

我尝试在配置单元1.1.0中使用decode函数执行转换,但出现了错误。我引用了配置单元函数中的语法,但仍然从decode函数中得到错误。总是
semanticexception decode()正好需要两个参数

hive> select * from tbl_test;
OK
1       aaaa
2       bbbb
3       cccc
4       dddd
Time taken: 0.12 seconds, Fetched: 4 row(s)
hive> select decode(col1,1,'hi','hello') from tbl_test;

失败:semanticexception[error 10015]:行1:7参数长度不匹配“hello”:decode()正好需要两个参数

hive> select decode(col1,1,'hi',null) from tbl_test;

失败:semanticexception[error 10015]:行1:7参数长度不匹配“tok\u null”:decode()正好需要两个参数

hive> select decode(col1,1,'hi') from tbl_test;

失败:semanticexception[error 10015]:行1:7参数长度不匹配“hi”:decode()正好需要两个参数

hive> select decode(col1,1,'hi',"hello") from tbl_test;

失败:semanticexception[error 10015]:行1:7参数长度不匹配“hello”:decode()正好需要两个参数

ujv3wf0j

ujv3wf0j1#

hive中的decode函数与oracle中的decode函数不同。
使用 case 或者 if 条件语句:

select case col1 when 1 then 'hi' else 'hello' end from tbl_test;

相关问题