Aracılığıyla paylaş


SQL ifadesi

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

İfade, işlevleri veya işleçleri kullanarak değişmez değerleri veya sütunlara, alanlara veya değişkenlere yapılan başvuruları temel alarak sonucu hesaplayan bir formüldür.

Sözdizimi

{ literal |
  named_parameter_marker |
  unnamed_parameter_marker |
  column_reference |
  field_reference |
  parameter_reference |
  CAST expression |
  CASE expression |
  COLLATE expression |
  expr operator expr |
  operator expr |
  expr [ expr ] |
  function_invocation |
  ( expr ) |
  ( expr, expr [, ... ] ) |
  scalar_subquery }

scalar_subquery
  ( query )

expr [ expr ] içindeki ayraçlar gerçekten köşeli ayraçlardır ve isteğe bağlı söz dizimini belirtmez.

Parametreler

  • literal

    Veri türleri'nde açıklanan bir türün literal değeri.

  • ismilendirilmiş_parametre_işaretleyicisi

    SQL deyimini gönderen API tarafından sağlanan bir değer için adlandırılmış ve yazılan yer tutucu.

  • isimlendirilmemiş_parametre_işaretleyici

    SQL deyimini gönderen API tarafından sağlanan bir değer için adsız ve yazılan yer tutucu.

  • sütun_referansı

    Tablo veya sütun takma adı içindeki bir sütuna referans.

  • alan_referansı

    Bir STRUCT türü alanına başvuru.

  • parametre_referansı

    SQL kullanıcı tanımlı bir işlevin gövdesinden bir parametreye referans. Referans, parametrenin herhangi bir nitelenmemiş adını kullanabilir veya adı işlev adıyla niteleyebilir. Parametreler, tanımlayıcıları çözümlerken en dıştaki kapsamı oluşturur.

  • CAST ifadesi

    Argümanı farklı bir türe dönüştüren bir ifade.

  • CASE ifadesi

    Koşullu değerlendirmeye olanak sağlayan bir ifade.

  • COLLATE ifadesi

    Bir dize ifadesine belirli bir sıralama ekleyen bir ifade.

  • ifade

    Bir ifade, operator ile birleştirilen veya bir işlevin bağımsız değişkeni olan bir ifadedir.

  • operator

    Tek-öğeli veya ikili işleç.

  • expr [ expr ]

    Dizi öğesine veya eşleme anahtarına başvuru.

  • function_invocation

    Yerleşik veya kullanıcı tanımlı bir işlevi çağırma.

    Ayrıntılar için bkz . function_invocation .

  • ( expr )

    İşleç önceliğini geçersiz kılan zorunlu öncelik.

  • ( expr, expr [, ... ] )

    İki veya daha fazla alandan oluşan bir struct oluşturur. Bu notasyon, yapı işleviyle eş anlamlıdır.

  • scalar_subquery:

    • ( sorgu )

      Tek bir sütun ve en çok bir satır döndürmesi gereken bir sorguyu temel alan ifade.

Her işlevi ve işlecinin sayfaları parametrelerinin beklediği veri türlerini açıklar. Azure Databricks, beklenen türlere örtük dönüştürme yapmak için SQL veri türü kurallarını kullanır. Sağlanan bağımsız değişken için bir işleç veya işlev geçersizse Azure Databricks bir hata oluşturur.

Ad çözümlemesi hakkında daha fazla bilgi için Sütun çözümlemesi, alan çözümlemesi, parametre çözümlemesi ve değişken çözümlemesi bölümüne bakın.

Sabit ifade

Bağımsız değişken içermeyen yalnızca sabitleri veya belirli işlevleri temel alan bir ifade. Azure Databricks ifadeyi yürütebilir ve genellikle değişmez değerlerin gerektiği yerlerde sonuç sabitini uygulayabilir.

Boole ifadesi

Sonuç türü olan BOOLEAN ifadesi. Boole ifadesi bazen koşul veya koşul olarak da adlandırılır.

Skaler alt sorgu

( query ) biçiminde bir ifade. Sorgunun bir sütunu ve en fazla bir satırı olan bir tablo döndürmesi gerekir.

Sorgu satır döndürmezse sonuç olur NULL. Sorgu birden fazla satır döndürürse Azure Databricks bir hata döndürür. Aksi takdirde, sonuç sorgu tarafından döndürülen değerdir.

Basit ifade

query içermeyen, skaler alt sorgu veya EXISTS koşulu gibi bir ifade.

Örnekler

> SELECT 1;
  1

> SELECT (SELECT 1) + 1;
  2

> SELECT 1 + 1;
  2

> SELECT 2 * (1 + 2);
  6

> SELECT 2 * 1 + 2;
  4

> SELECT substr('Spark', 1, 2);
  Sp

> SELECT c1 + c2 FROM VALUES(1, 2) AS t(c1, c2);
  3

> SELECT a[1] FROM VALUES(array(10, 20)) AS T(a);
  20

> SELECT true;
  true

> SELECT (c1, (c2, c3)) FROM VALUES(1, 2, 3) AS T(c1, c2, c3);
  {"c1":1,"col2":{"c2":2,"c3":3}}