HIVE 数据类型转换
来源:互联网 发布:wpf编程数据采集 编辑:程序博客网 时间:2024/06/15 00:33
在《Hive内置数据类型》文 章中,我们提到了Hive内置数据类型由基本数据类型和复杂数据类型组成。今天的话题是Hive数据类型之间的转换。同Java语言一样,Hive也包括 隐式转换(implicit conversions)和显式转换(explicitly conversions)。
Hive在需要的时候将会对numeric类型的数据进行隐式转换。比如我们对两个不同数据类型的数字进行比较,假如一个数据类型是INT型,另一个 是SMALLINT类型,那么SMALLINT类型的数据将会被隐式转换地转换为INT类型,这个到底和Java中的一样;但是我们不能隐式地将一个 INT类型的数据转换成SMALLINT或TINYINT类型的数据,这将会返回错误,除非你使用了CAST操作。
下标列出了Hive内置的数据类型之间是否可以进行隐式的转换操作:
我们可以用CAST来显式的将一个类型的数据转换成另一个数据类型。如何使用?CAST的语法为cast(value AS TYPE)。举个例子:假如我们一个员工表employees,其中有name、salary等字段;salary是字符串类型的。有如下的查询:
1
SELECT name, salary FROM employees
2
WHERE cast(salary AS FLOAT) <</code>
100000.0;
这样salary将会显示的转换成float。如果salary是不能转换成float,这时候cast将会返回NULL!
对cast有一下几点需要说明的:
(1)、如果将浮点型的数据转换成int类型的,内部操作是通过round()或者floor()函数来实现的,而不是通过cast实现!
(2)、对于BINARY类型的数据,只能将BINARY类型的数据转换成STRING类型。如果你确信BINARY类型数据是一个数字类型(a number),这时候你可以利用嵌套的cast操作,比如a是一个BINARY,且它是一个数字类型,那么你可以用下面的查询:
1
SELECT (cast(cast(a as string) as
double
)) from src;
我们也可以将一个String类型的数据转换成BINARY类型。
(3)、对于Date类型的数据,只能在Date、Timestamp以及String之间进行转换。下表将进行详细的说明:
- HIVE 数据类型转换
- HIVE 数据类型转换
- hive数据类型及其数据转换
- Hive 转换数据类型后导入表
- hive数据类型
- hive数据类型
- hive 数据类型
- hive 数据类型
- Hive数据类型
- Hive数据类型
- Hive数据类型
- Hive数据类型
- hive数据类型
- Hive数据类型
- Hive数据类型
- Hive数据类型
- hive数据类型
- Hive(十)--数据类型转换、字符串函数、条件判断
- csdn如何转载别人的文章
- 1032. Sharing
- 一般处理程序中使用隐藏域来实现非Form表单元素上数据的改变
- C#后台发送HTTP请求
- 高清谷歌卫星地图下载导出的文件类型说明详解
- HIVE 数据类型转换
- ORACLE 多表关联 UPDATE 语句
- Leetcode 171 Excel Sheet Column Number
- APM plugin必注意要点
- Postgresql9.1 本地连接远程数据库
- bootstrap各式按钮(2)
- sqlserver中FOR XML PATH 的使用
- Java多线程为什么使用while循环来调用wait方法
- JDK安装包的制作人员太坏了