make_timestamp 函数

yearmonthdayhourminsectimezone 字段创建时间戳。

语法

make_timestamp(year, month, day, hour, min, sec [, timezone] )

参数

  • year:整数表达式,其计算结果为 1 到 9999 之间的值。
  • month:整数表达式,其计算结果为 1(1 月)到 12(12 月)之间的值。
  • day:整数表达式,其计算结果为 1 到 31 之间的值。
  • hour:整数表达式,其计算结果为 0 到 23 之间的值。
  • min:整数表达式,其计算结果为 0 到 59 之间的值。
  • sec:数值表达式,其计算结果为 0 到 60 之间的值。
  • timezone:一个可选的字符串表达式,其计算结果为有效的时区字符串。 例如:CET、UTC。

返回

一个时间戳。

如果任何参数都未在边界外,该函数将返回错误。 如果 sec60,则会将其解释为 0,并在结果中添加一分钟。

注意

如果 spark.sql.ansi.enabled 为 ,则函数返回 ,而不是对 NULL 边界外参数返回错误。

示例

> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887);
 2014-12-28 06:30:45.887
> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887, 'CET');
 2014-12-27 21:30:45.887
> SELECT make_timestamp(2019, 6, 30, 23, 59, 60);
 2019-07-01 00:00:00
> SELECT make_timestamp(2019, 13, 1, 10, 11, 12, 'PST');
 NULL
> SELECT make_timestamp(NULL, 7, 22, 15, 30, 0);
 NULL