共用方式為


+ (加號) 運算符

適用於: 核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

傳回 expr1expr2 的總和。

語法

expr1 + expr2

引數

  • expr1:數值、日期、TIMESTAMP 或 INTERVAL 表達式。
  • expr2:如果 expr1 是數值必須是數值 expr2 表達式,則為 INTERVAL,否則為 INTERVAL。

傳回

  • 如果 expr1 為數值,則為自變數的常見最大類型。
  • 如果 expr1 是 DATE,而且 expr2 是一天時間間隔,則結果為 TIMESTAMP。
  • 如果 expr1expr2 是年月間隔,則結果為足夠寬的單位的年月間隔來表示結果。
  • 如果 expr1expr2 是日間時間間隔,則結果為足夠寬的單位日時間間隔,以表示結果。
  • 否則,結果類型會比對 expr1

如果兩個表達式都是間隔,則必須是相同的類別。

當您將年月間隔新增至 DATE 時,Azure Databricks 可確保產生的日期格式良好。

如果結果溢位結果類型,Azure Databricks 就會 引發ARITHMETIC_OVERFLOW 錯誤。

使用 try_add 在溢位時傳回 NULL

警告

在 Databricks Runtime 中,如果 spark.sql.ansi.enabledfalse,則溢位不會造成錯誤,而是會改為「包裝」結果。

範例

> 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