适用于: Databricks SQL
 Databricks SQL  Databricks Runtime 10.4 LTS 及更高版本
 Databricks Runtime 10.4 LTS 及更高版本
返回 expr1 加 expr2 的和,或者,如果发生错误,则返回 NULL。
语法
try_add ( expr1 , expr2 )
也可以使用子句将此函数作为窗口函数OVER调用。
参数
- expr1:数值、DATE、TIMESTAMP 或 INTERVAL 表达式。
- expr2:如果- expr1是数值,则- expr2必须是数值表达式,否则为 INTERVAL。
返回
- 如果 expr1是数值,则为参数的公共最大值类型。
- 如果 expr1是 DATE,而expr2是日期时间间隔,则结果是 TIMESTAMP。
- 如果 expr1和expr2是年月时间间隔,则结果为用于表示结果的足够宽单位的年月时间间隔。
- 如果 expr1和expr2是日期时间间隔,则结果为用于表示结果的足够宽单位的日期时间间隔。
- 否则,结果类型与 expr1一致。
如果两个表达式均为时间间隔,则它们必须属于同一类。
如果结果溢出结果类型,则 Databricks SQL 则返回 NULL。
如果向 DATE 添加年月时间间隔,Databricks SQL 可确保生成的日期格式正确。
示例
> SELECT try_add(1, 2);
 3
> SELECT try_add(DATE'2021-03-20', INTERVAL '2' MONTH);
 2021-5-20
> SELECT try_add(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
 2021-03-20 12:15:32
> SELECT typeof(try_add(INTERVAL '3' DAY, INTERVAL '2' HOUR));
 interval day to hour
> SELECT try_add(DATE'2021-03-31', INTERVAL '1' MONTH);
 2021-04-30
> SELECT try_add(127Y, 1Y);
 NULL