我想检查Hive中列值是否不是小数

时间:2017-05-22 11:06:56

标签: hive hiveql

我有一个包含

列的表格
S.No Product Quantity
 1  Chair   1
 2  Table   3
 3  Fan     2.4

我想查看数量列是否为负值。如果它是否定的,它不应该返回该行。 我希望结果只有前两行1& 2 请建议我如何在Hive中提出查询,该查询不返回小数值

2 个答案:

答案 0 :(得分:0)

这可能不是最有效的方法,但这将使你的工作完成。

select SNo, Product, Quantity from table_name
where Quantity=round(Quantity)
and Quantity>=0

答案 1 :(得分:0)

这可能是选择仅包含数字(无小数或负号)的行的另一种方法:

SELECT * 
FROM table
WHERE Quantity NOT RLIKE '[^0-9]'

此处,'[^0-9]'检查是否有任何值不是数字。 NOT RLIKE是一个双重否定,将返回所有行,除了那些包含不是数字的行。

要仅在数据集结果的前两行运行此操作:

WHERE S.No <=2