hive和spark-sql中 日期和时间相关函数 测试对比

测试版本:

hive 2.3.4      spark 3.1.1  hadoop 2.7.7

1、增加月份

  • add_months(timestamp date, int months)
  • add_months(timestamp date, bigint months)
  • Return type: timestamp
  • usage:add_months(now(),1)

hive和spark-sql中 日期和时间相关函数 测试对比_第1张图片

2、增加日期

  • adddate(timestamp startdate, int days),
  • adddate(timestamp startdate, bigint days)
  • Return type: timestamp
  • usage:adddate(now(),1)

3、当前时间戳

  • current_timestamp()和now()等价

hive和spark-sql中 日期和时间相关函数 测试对比_第2张图片

4、日期相减

  • datediff(string enddate, string startdate)
  • Return type: int
  • usage:datediff("2018-08-05", "2018-08-03")

hive和spark-sql中 日期和时间相关函数 测试对比_第3张图片

5、得到天,得到月份

  • day(string date)
  • Return type: int
  • usage: day("2018-08-05")

hive和spark-sql中 日期和时间相关函数 测试对比_第4张图片

hive和spark-sql中 日期和时间相关函数 测试对比_第5张图片

6、得到星期英文

  • dayname(string date)
  • Return type: string
  • usage:dayname("2018-08-05") Sunday

7、得到这一天是这周的第几天

  • dayofweek(string date)   1 (Sunday) to 7 (Saturday).
  • Return type: int
  • usage:dayofweek("2018-08-06")

hive和spark-sql中 日期和时间相关函数 测试对比_第6张图片

8、加天数和减天数

1)days_add(timestamp startdate, int days)

  • Return type: timestamp
  • usage:days_add(now(),2)

2)、days_sub(timestamp startdate, int days)

  • Return type: timestamp
  • usage:days_sub(now(), 2)

hive和spark-sql中 日期和时间相关函数 测试对比_第7张图片

hive和spark-sql中 日期和时间相关函数 测试对比_第8张图片

9、格式化日期

  • from_unixtime(bigint unixtime[, string format])
  • Return type: string

注意参数

  • usage:from_unixtime(1392394861,"yyyy-MM-dd");

hive和spark-sql中 日期和时间相关函数 测试对比_第9张图片

10、得到小时

  • hour(string date)
  • Return type: int
  • usage:hour("2018-08-06 12:32:54")

11、增加小时 和 减少小时

1)、hours_add(timestamp date, int hours)

  • Return type: timestamp
  • usage:hours_add(now(),2)

2)、hours_sub(timestamp date, int hours)

  • Return type: timestamp
  • usage:hours_sub(now(),2)

hive和spark-sql中 日期和时间相关函数 测试对比_第10张图片

hive和spark-sql中 日期和时间相关函数 测试对比_第11张图片

12、得到分钟

  • minute(string date)
  • Return type: int
  • usage:minute(now())

hive和spark-sql中 日期和时间相关函数 测试对比_第12张图片

hive和spark-sql中 日期和时间相关函数 测试对比_第13张图片

13、增加分钟和减少分钟

1)、minutes_add(timestamp date, int minutes)

  • Return type: timestamp
  • usage:minutes_add(now(),2)

2)、minutes_sub(timestamp date, int minutes)

  • Return type: timestamp
  • usage:minutes_sub(now(),2)

hive和spark-sql中 日期和时间相关函数 测试对比_第14张图片

14、得到月份

  • month(string date)
  • Return type: int
  • usage:month("2018-08-06 12:32:54")

15、月份相加和减月份

1)、months_add(timestamp date, int months)

  • Return type: timestamp
  • usage:months_add(now(),3)

2)、months_sub(timestamp date, int months)

  • Return type: timestamp
  • months_sub(now(),3)

hive和spark-sql中 日期和时间相关函数 测试对比_第15张图片

16、得到秒

  • second(string date)
  • Return type: int

hive和spark-sql中 日期和时间相关函数 测试对比_第16张图片

17、秒加 和 秒减

1)、seconds_add(timestamp date, int seconds)

  • Return type: timestamp

2)、seconds_sub(timestamp date, int seconds)

  • Return type: timestamp

hive和spark-sql中 日期和时间相关函数 测试对比_第17张图片

18、得到日期

  • to_date(now())

hive和spark-sql中 日期和时间相关函数 测试对比_第18张图片

hive和spark-sql中 日期和时间相关函数 测试对比_第19张图片

19、得到1970到今秒

  • unix_timestamp(),
  • unix_timestamp(string datetime),
  • unix_timestamp(string datetime, string format),
  • unix_timestamp(timestamp datetime)
  • Return type: bigint

hive和spark-sql中 日期和时间相关函数 测试对比_第20张图片

hive和spark-sql中 日期和时间相关函数 测试对比_第21张图片

20、得到这周是这年的多少周

  • weekofyear(string date)
  • Return type: int
  • usage:weekofyear("2018-08-06 12:32:54")

21、周加  和 周减

1)、weeks_add(timestamp date, int weeks)

  • Return type: timestamp
  • usage:weeks_add("2018-08-06 12:32:54", 1)

2)、weeks_sub(timestamp date, int weeks)

  • Return type: timestamp
  • usage:weeks_sub("2018-08-06 12:32:54", 1)

22、得到年

  • year(string date)
  • Return type: int

23、年加 和 年减

1)、years_add(timestamp date, int years)

  • Return type: timestamp

2)、years_sub(timestamp date, int years)

  • Return type: timestamp

参考:hive 日期函数 - 文章教程 - 文江博客

你可能感兴趣的:(hive,hive,数据仓库,日期函数,时间函数)