我有一个查询
set short_string = "'M', 'C'";
select *
from db.table
where code not in (${hiveconf:short_string})
我希望它能够返回没有' M' C' C'在代码中,但这不起作用并返回所有记录。如果我写的是' M' C'一切都很好。我如何使它工作?
答案 0 :(得分:2)
使用
set short_string='M', 'C';
而不是
set short_string = "'M', 'C'";
你不需要在hive变量中使用双引号,等于之后的所有内容都将成为变量的一部分。
答案 1 :(得分:0)
这对我有用:
set foo= ('This','That');
select * from <table> where <column> not in ${hiveconf:foo};
关键是你不需要用引号括住整个变量,这是一个直接的替代。