make_timestamp 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime

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。

返回

时间戳。

在 Databricks SQL 中,如果其中任何参数超出范围,则结果为 NULL。 在 Databricks Runtime 中,如果任何参数超出边界,则函数会返回错误,除非 spark.sql.ansi.enabledfalse,在这种情况下,函数会返回 NULL。 如果 sec60,则会将其解释为 0,并在结果中添加一分钟。

示例

> 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