Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
适用于:
Databricks SQL
Databricks Runtime
返回 expr1 和 expr2 的总和。
语法
expr1 + expr2
参数
-
expr1:数值、DATE、TIMESTAMP 或 INTERVAL 表达式。 -
expr2:如果expr1是数值,则expr2必须是数值表达式,否则为 INTERVAL。
返回
- 如果
expr1是数值,则为参数的公共最大值类型。 - 如果
expr1是 DATE,而expr2是日期时间间隔,则结果是 TIMESTAMP。 - 如果
expr1和expr2是年月时间间隔,则结果为用于表示结果的足够宽单位的年月时间间隔。 - 如果
expr1和expr2是日期时间间隔,则结果为用于表示结果的足够宽单位的日期时间间隔。 - 否则,结果类型与
expr1一致。
如果两个表达式均为时间间隔,则它们必须属于同一类。
向日期添加年-月区间时,Azure Databricks 可确保生成的日期格式正确。
如果结果溢出结果类型,则 Azure Databricks 会引发 ARITHMETIC_OVERFLOW 错误。
使用 try_add 在溢出时返回 NULL。
警告
在 Databricks Runtime 中,如果 spark.sql.ansi.enabled 为 false,则溢出不会导致错误,而是会将结果“换行”。
示例
> SELECT 1 + 2;
3
> SELECT DATE'2021-03-20' + INTERVAL '2' MONTH
2021-5-20
> SELECT TIMESTAMP'2021-03-20 12:15:29' + INTERVAL '3' SECOND
2021-03-20 12:15:32
> SELECT typeof(INTERVAL '3' DAY + INTERVAL '2' HOUR)
interval day to hour
> SELECT DATE'2021-03-31' + INTERVAL '1' MONTH;
2021-04-30
> SELECT 127Y + 1Y;
Error: ARITMETIC_OVERFLOW