[英]Hive XOR function for string?
I want to select a data either A column equals 'X' or B column equals 'X' but not both of them equal 'X'. 我想选择一个数据,要么A列等于“ X”,要么B列等于“ X”,但不是两个都等于“ X”。 Is there such a function in HQL?
HQL中有这样的功能吗?
Try below query instead of tablename use your tablename 尝试在下面的查询而不是表名中使用您的表名
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
Hive does have bitwise XOR arithmetic operator. Hive确实具有按位XOR算术运算符。 It can be used on any numeric data type for ex.
它可以用于ex的任何数字数据类型。
A ^ B
. A ^ B
More details can be found in hive official documentation: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-ArithmeticOperators 可以在hive官方文档中找到更多详细信息: https : //cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-ArithmeticOperators
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.