时间函数

时间函数如下表所示:

函数

功能

ADD_DAYS

按照指定的幅度增加日期的天数。

ADD_MONTHS

按照指定的幅度增加月份。

ADD_YEARS

按照指定的幅度增加年份。

DATE_DIFF

计算时间差值。

DATE_FORMAT

将日期格式化成指定格式的字符串。

FROM_UNIXTIME

将整型的时间戳(单位秒)转换为日期值。

GET_DAY_OF_MONTH

返回一个时间日部分的值。

GET_HOUR

获取一个时间小时部分的值。

GET_MINUTE

获取一个时间分钟部分的值。

GET_MONTH

获取一个时间月份部分的值。

GET_QUARTER

获取一个时间对应的季度。

GET_SECOND

获取一个日期时间秒数部分的值。

GET_WEEKDAY

获取指定日期在当前周的第几天。

GET_WEEK_OF_YEAR

获取指定日期所在的自然周处于在当年的第几周。

GET_YEAR

获取一个时间年份部分的值。

NOW

获取系统当前的时间。

SUB_DAYS

按照指定的幅度减少日期的天数。

TO_DATE

将一个指定格式的字符串转成日期时间。

UNIX_TIMESTAMP

将一个日期时间转为整型的时间戳(单位秒)。

ADD_DAYS

  • 函数说明

按照delta幅度增加startdate日期的天数。

  • 参数说明

    • startdate:必填,时间类型。待增加天数的日期时间值。

    • delta:必填,整数类型。日期增幅,如果delta大于0,则增,否则减。

  • 返回值说明

返回日期计算结果,精度截取到日期,格式为yyyy-MM-dd 00:00:00。当startdate或者delta值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

ADD_MONTHS

  • 函数说明

按照delta幅度增加startdate日期的月份。

  • 参数说明

    • startdate:必填,时间类型。待增加月份的日期时间值。

    • delta:必填,整数类型。月份增幅,如果delta大于0,则增,否则减。

  • 返回值说明

返回日期计算结果,精度截取到日期,格式为yyyy-MM-dd 00:00:00。当startdate或者delta值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

ADD_YEARS

  • 函数说明

按照delta幅度增加startdate日期的年份。

  • 参数说明

    • startdate:必填,时间类型。待增加年份的日期时间值。

    • delta:必填,整数类型。年份增幅,如果delta大于0,则增,否则减。

  • 返回值说明

返回日期计算结果,精度截取到日期,格式为yyyy-MM-dd 00:00:00。当startdate或者delta值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

DATE_DIFF

  • 函数说明

计算从start到end两个时间之间的差值,结果以指定的时间单位dateUnit表示。

  • 参数说明

    • start:必填,时间类型。起始时间。

    • end:必填,时间类型。结束时间。

    • dateUnit:必填,文本类型。时间单位,可选:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND。

  • 返回值说明

两个时间的差值,数据格式为整数类型,负数表示时间start在end之后。start或者end参数为NULL时,结果返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

DATE_FORMAT

  • 函数说明

将日期格式化成指定格式的字符串。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

    • format:必填,文本类型。日期格式化的格式,可选值:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd、yyyyMMdd、yyyyMMddHHmmss。

  • 返回值说明

返回格式化后的字符串。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

FROM_UNIXTIME

  • 函数说明

将整型的时间戳(单位秒)转换为日期值。

  • 参数说明

    • unixtime:必填,整数类型。整型的时间戳,单位为秒。

  • 返回值说明

返回转换后的日期时间值。当unixtime值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_DAY_OF_MONTH

  • 函数说明

返回一个时间日部分的值。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间日部分对应的整数值(1~31)。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_HOUR

  • 函数说明

获取一个时间小时部分的值。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间小时部分对应的整数值(0~23)。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_MINUTE

  • 函数说明

获取一个时间分钟部分的值。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间分钟部分对应的整数值(0~59)。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_MONTH

  • 函数说明

获取一个时间月份部分的值。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间月份部分对应的整数值(1~12)。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_QUARTER

  • 函数说明

获取一个时间对应的季度。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间季度部分对应的整数值(1~4)。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_SECOND

  • 函数说明

获取一个日期时间秒数部分的值。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间秒数部分对应的整数值(0~59)。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_WEEKDAY

  • 函数说明

获取指定日期在当前周的第几天。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

周一作为一周的第一天,返回值为0。其他日期依次递增,周日返回6。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_WEEK_OF_YEAR

  • 函数说明

获取指定日期所在的自然周处于在当年的第几周。周一作为一周的第一天。跨年的周算上一年还是下一年,取决于这一周的大多数日期(4天以上)在哪一年。算在前一年就是前一年的最后一周,算在后一年就是后一年的第一周。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回日期所在周处于当年的第几周的整数值。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

GET_YEAR

  • 函数说明

获取一个时间年份部分的值。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回时间年份部分对应的整数值。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

NOW

  • 函数说明

获取系统当前的时间。

  • 参数说明

  • 返回值说明

返回系统当前时间。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

SUB_DAYS

  • 函数说明

按照delta幅度减去startdate日期的天数。

  • 参数说明

    • startdate:必填,时间类型。日期时间值

    • delta:必填,整数类型。减去的天数,如果delta大于0,则减,否则增。

  • 返回值说明

返回日期计算结果,精度截取到日期,格式为yyyy-MM-dd 00:00:00。当startdate或者delta值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

TO_DATE

  • 函数说明

将一个指定格式的字符串转成日期时间。

  • 参数说明

    • dateString:必填,文本类型。需要转换的字符串

    • format:必填,文本类型。字符串对应的日期转换格式,可选值:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd、yyyyMMdd、yyyyMMddHHmmss。

  • 返回值说明

返回转换后的日期时间。当dateString值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

UNIX_TIMESTAMP

  • 函数说明

将一个日期时间转为整型的时间戳(单位为秒)。

  • 参数说明

    • dateValue:必填,时间类型。日期时间值。

  • 返回值说明

返回整型的时间戳,单位为秒。当dateValue值为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。