Hive&Mysql&Oracle类型转换

文章目录

      • 1. oracle函数
          • to_number()
          • to_char()
          • to_date()
      • 2. Mysql函数
          • date_formate()
          • str_to_date()
          • cast()
      • 3. 比较大小
      • 4. Hive类型转换
        • 4.1 隐式转换
        • 4.2 date类型
        • 4.3 不能隐式转换的
        • 4.4 字符串类型的时间格式进行比较

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()

转换任意类型

3. 比较大小

  1. 字符串和日期可以比较大小
  2. int可以比较大小

4. Hive类型转换

4.1 隐式转换

  1. Hive包括 隐式转换(implicit conversions)和显式转换(explicitly conversions)
  2. 比如我们对两个不同数据类型的数字进行比较,假如一个数据类型是INT型,另一个 是SMALLINT类型,那么SMALLINT类型的数据将会被隐式转换地转换为INT类型,这个到底和Java中的一样;但是我们不能隐式地将一个 INT类型的数据转换成SMALLINT或TINYINT类型的数据,这将会返回错误,除非你使用了CAST操作。
  3. 任何整数类型都可以隐式地转换成一个范围更大的类型。TINYINT,SMALLINT,INT,BIGINT,FLOAT和STRING都可以隐式 地转换成DOUBLE;是的你没看出,STRING也可以隐式地转换成DOUBLE!但是你要记住,BOOLEAN类型不能转换为其他任何数据类型!
    Hive&Mysql&Oracle类型转换_第1张图片

4.2 date类型

对于Date类型的数据,只能在Date、Timestamp以及String之间进行转换。
Hive&Mysql&Oracle类型转换_第2张图片

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')

你可能感兴趣的:(03,Hive及数仓)