2017-01-27 9 views
0

У меня есть запросhiveconf в котором

set short_string = "'M', 'C'"; 

select * 
from db.table 
where code not in (${hiveconf:short_string}) 

Я хочу, чтобы возвращать записи, которые не имеют «M», «C» в коде, но это не работает и возвращает все записи. Если я пишу 'M', 'C', все правильно. Как мне заставить работать?

ответ

0

Это работает для меня:

set foo= ('This','That'); 

select * from <table> where <column> not in ${hiveconf:foo}; 

Суть в том, что вам не нужно, чтобы окружить всю переменную в кавычки, это прямая замена.

2

использование

set short_string='M', 'C'; 

вместо

set short_string = "'M', 'C'"; 

вам не нужно использовать двойные кавычки в улье переменных, все равно после того, как будет частью переменной.

 Смежные вопросы

  • Нет связанных вопросов^_^