make_timestamp
函数
适用于: Databricks SQL Databricks Runtime
从 year
、month
、day
、hour
、min
、sec
和 timezone
字段创建时间戳。
语法
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.enabled 为 false
,在这种情况下,函数会返回 NULL
。
如果 sec
为 60
,则会将其解释为 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