首先看一下类型转换表(来自https://www.iteblog.com/archives/892.html)
我们可以用CAST来显式的将一个类型的数据转换成另一个数据类型。如何使用?CAST的语法为cast(value AS TYPE)。举个例子:假如我们一个员工表employees,其中有name、salary等字段;salary是字符串类型的。有如下的查询:
SELECT name, salary FROM employees
WHERE cast(salary AS FLOAT) < 100000.0;
这样salary将会显示的转换成float。如果salary是不能转换成float,这时候cast将会返回NULL!
对cast有一下几点需要说明的:
如果将浮点型的数据转换成int类型的,内部操作是通过round()或者floor()函数来实现的,而不是通过cast实现!
对于BINARY类型的数据,只能将BINARY类型的数据转换成STRING类型。如果你确信BINARY类型数据是一个数字类型(a number),这时候你可以利用嵌套的cast操作,比如a是一个BINARY,且它是一个数字类型,那么你可以用下面的查询:
SELECT (cast(cast(a as string) as double)) from src;
转载自过往记忆(https://www.iteblog.com/)
本文链接: 【Hive数据类型转换】(https://www.iteblog.com/archives/892.html)