文章目录
Oracle搜索地址
MySQL搜索地址
Hive文档
Impala文档
1. oracle函数
to_number()
将float double char 转换成 number
to_char()
将character number datetime转换成char
to_date()
将char 转换成 date
to_date('字段','yyyy-mm-dd hh24:mi:ss')
2. Mysql函数
date_formate()
将date 转换成指定格式的字符串
str_to_date()
将str 按照指定的格式格式化成datetime
str_to_date('字段','%Y%m%d %H:%i:%s')
cast()
转换任意类型
将百分数转换成小数
left(replace(test,"%","")*100,6)
将小数转换成百分数
concat(10,’%’)
3. 比较大小
- 字符串和日期可以比较大小
- int可以比较大小
4. Hive类型转换
4.1 隐式转换
- Hive包括 隐式转换(implicit conversions)和显式转换(explicitly conversions)
- 比如我们对两个不同数据类型的数字进行比较,假如一个数据类型是INT型,另一个 是SMALLINT类型,那么SMALLINT类型的数据将会被隐式转换地转换为INT类型,这个到底和Java中的一样;但是我们不能隐式地将一个 INT类型的数据转换成SMALLINT或TINYINT类型的数据,这将会返回错误,除非你使用了CAST操作。
- 任何整数类型都可以隐式地转换成一个范围更大的类型。TINYINT,SMALLINT,INT,BIGINT,FLOAT和STRING都可以隐式 地转换成DOUBLE;是的你没看出,STRING也可以隐式地转换成DOUBLE!但是你要记住,BOOLEAN类型不能转换为其他任何数据类型!
4.2 date类型
对于Date类型的数据,只能在Date、Timestamp以及String之间进行转换。
4.3 不能隐式转换的
select cast('18' as int)
4.4 字符串类型的时间格式进行比较
unix_timestamp('2019-07-17 08:56:59') - unix_timestamp('2019-07-17 08:56:58')
版权声明:本文为liyang_007原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。