+ (artı işareti) işleci

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

ve expr1toplamını expr2 döndürür.

Söz dizimi

expr1 + expr2

Bağımsız değişkenler

  • expr1: Sayısal, TARİh, SAAT, ZAMAN DAMGASI veya INTERVAL ifadesi.
  • expr2: Sayısalsa expr1 sayısal expr2 ifade veya INTERVAL olmalıdır.

Döndürülenler

  • Sayısalsa expr1 , bağımsız değişkenlerin ortak en büyük türüdür.
  • Tarih expr1 ise ve expr2 gün-saat aralığıysa, sonuç bir ZAMAN DAMGASI olur.
  • TIME expr1 ise ve expr2 bir gün-zaman aralığıysa, sonuç iki işlenenin daha geniş duyarlıklı bir ZAMAN değeridir. Sonuç [00:00:00, 24:00:00) dışında kalırsa Azure Databricks DATETIME_OVERFLOW yükseltir.
  • ve expr1 yıl-ay aralıkları iseexpr2, sonuç, sonucu temsil etmek için yeterince geniş birimlerden oluşan bir yıl-ay aralığıdır.
  • ve expr1 gün-saat aralıkları iseexpr2, sonuç, sonucu temsil etmek için yeterince geniş birimlerden oluşan bir gün-saat aralığıdır.
  • Aksi takdirde sonuç türü ile eşleşir expr1.

Her iki ifade de aralıksa, aynı sınıfta olmalıdır.

TARİh'e yıl-ay aralığı eklediğinizde, Azure Databricks sonuçta elde edilen tarihin iyi biçimlendirilmiş olmasını sağlar.

Sonuç, sonuç türünün taşması durumunda Azure Databricks bir ARITHMETIC_OVERFLOW veya INTERVAL_ARITHMETIC_OVERFLOW hatası oluşturur.

Taşmaya dönmek için try_addNULL.

Uyarı

Databricks Runtime'da , spark.sql.ansi.enabled ise false, taşma bir hataya neden olmaz, ancak sonucu "sarmalar".

Yaygın hata koşulları

Örnekler

> 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 TIME'10:30:00' + INTERVAL '2' HOUR
 12:30:00

> 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: ARITHMETIC_OVERFLOW