مشاركة عبر


+ عامل التشغيل (علامة الجمع)

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

إرجاع مجموع expr1 و expr2.

بناء الجملة

expr1 + expr2

الوسيطات

  • expr1: تعبير رقمي أو تاريخ أو طابع زمني أو فاصل زمني.
  • expr2: إذا كان expr1 عبارة عن expr2 رقم يجب أن يكون تعبيرا رقميا أو فاصلا زمنيا بخلاف ذلك.

المرتجعات

  • إذا كان expr1 رقميا، فإن النوع الأقصى الشائع للوسيطات.
  • إذا كان expr1 عبارة عن DATE وكان expr2 عبارة عن فاصل زمني لليوم، تكون النتيجة TIMESTAMP.
  • إذا كانت expr1 و expr2 عبارة عن فترات زمنية لمدة شهر، تكون النتيجة عبارة عن فاصل زمني لمدة شهر من وحدات واسعة بما يكفي لتمثيل النتيجة.
  • إذا كانت expr1 و expr2 عبارة عن فواصل زمنية لليوم، تكون النتيجة فاصلا زمنيا لليوم بوحدات عريضة بما يكفي لتمثيل النتيجة.
  • وإلا، فإن نوع النتيجة يطابق expr1.

إذا كان كلا التعبيرين عبارة عن فاصل زمني، فيجب أن يكونا من نفس الفئة.

عند إضافة فاصل زمني لمدة شهر إلى DATE، يضمن 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