try_subtract وظيفه

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

إرجاع طرح من expr2expr1أو NULL عند تجاوز السعة.

بناء الجملة

try_subtract ( expr1 , expr2 )

الوسيطات

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

المرتجعات

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

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

إذا تجاوزت النتيجة نوع النتيجة Databricks SQL بإرجاع NULL.

عند طرح فاصل زمني لمدة شهر من DATE Databricks SQL سيضمن أن التاريخ الناتج قد تم تكوينه بشكل جيد.

الأمثلة

> SELECT try_subtract(1, 2);
 -1

> SELECT try_subtract(DATE'2021-03-20', INTERVAL '2' MONTH);
 2021-1-20

> SELECT try_subtract(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
 2021-03-20 12:15:26

> SELECT typeof(try_subtract(INTERVAL '3' DAY, INTERVAL '2' HOUR));
 interval day to hour

> SELECT try_subtract(DATE'2021-03-31', INTERVAL '1' MONTH);
 2021-02-28

> SELECT try_subtract(-128Y, 1Y);
  NULL