Улей XOR функция для строки? - PullRequest
0 голосов
/ 02 марта 2019

Я хочу выбрать данные: либо столбец A равен «X», либо столбец B равен «X», но не оба они равны «X».Есть ли такая функция в HQL?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Попробуйте использовать приведенный ниже запрос вместо имени таблицы, используя имя таблицы

    SELECT * FROM ( 
       SELECT
        CASE WHEN COLUMNA='X' AND COLUMNB<>'X' THEN COLUMNA 
        CASE WHEN COLUMNA<>'X' AND COLUMNB='X' THEN COLUMNB 
        END AS XORCOMBO
        FROM TABLENAME
                 )X
WHERE XORCOMBO IS NOT NULL
0 голосов
/ 04 марта 2019

Hive имеет побитовый арифметический оператор XOR.Может использоваться для любого числового типа данных, например,A ^ B.

Более подробную информацию можно найти в официальной документации улья: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-ArithmeticOperators

...