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

    2、增加日期

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

    3、当前时间戳

    • current_timestamp()和now()等价

    4、日期相减

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

    5、得到天,得到月份

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

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

    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)

    9、格式化日期

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

    注意参数

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

    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)

    12、得到分钟

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

    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)

    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)

    16、得到秒

    • second(string date)
    • Return type: int

    17、秒加 和 秒减

    1)、seconds_add(timestamp date, int seconds)

    • Return type: timestamp

    2)、seconds_sub(timestamp date, int seconds)

    • Return type: timestamp

    18、得到日期

    • to_date(now())

    19、得到1970到今秒

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

    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 日期函数 - 文章教程 - 文江博客

  • 相关阅读:
    c语言一维数组和二维指针
    VUE-从入门到弃坑
    @Transient注解
    如何在Excel中实现手写签名?
    华清远见(上海中心)22071
    成功解决 java.lang.NumberFormatException
    C++基础算法教程|图论入门(一)
    Word控件Spire.Doc 【文本】教程(14) ;如何用图片替换Word中的文字
    SpringBoot+Vue项目线上买菜系统
    【数字信号去噪】小波阙值数字信号去噪和求信噪比【含Matlab源码 2191期】
  • 原文地址:https://blog.csdn.net/helloxiaozhe/article/details/134357888