nisfarm.ru

Coalesce sql: popis, použití, příklady

Při kompilaci dotazů sql se často stává, že při výběru dat je třeba porovnat hodnoty několika sloupců a vygenerovat jednu z nich, která obsahuje data (nikoliv prázdná). Tento problém je dokonale vyřešen výrazem Coalesce. V tomto článku najdete úplný popis výrazu Coalesce sql, popis vlastností použití, stejně jako příklady.

spojit popis sql

Výstup hodnot nula pomocí Coalesce. Vlastnosti

Zvažte vlastnosti Sql Coalesce:

  1. Přiřadí označení libovolného počtu argumentů (na rozdíl od Isnull / Nvl / Nvl2, počet argumentů je omezen).
  2. Může přijmout poddotazy jako argument.
  3. Vrací výsledek rovný první jiné než Null nebo Null, pokud se nenalezne jiná hodnota než hodnota Null.
  4. Sloupce Sql Coalesce lze použít v klauzuli Vybrat pro volbu hodnoty, která není prázdná, a rovněž v části Kde určit, že sada sloupců s prázdnými hodnotami není povolena (/ povoleno).
  5. Tento výraz je ekvivalentní použití výrazu Case, který každý argument postupně kontroluje pro podmínku Když argument1 není null a argument1. Ve skutečnosti je Coalesce "zkratkou" určenou pro snadné použití a v mnoha optimalizátorech dotazů DBMS přepisuje výraz Coalesce na případu.
  6. Funkce Sql Coalesce jsou k dispozici ve všech předních relacích systémy správy databází.

sql spojit

Syntaxe Coalesce

Každý, kdo někdy použil Coalesce ke kompilaci dotazů sql, ví, že syntaxe tohoto výrazu je velmi jednoduchá. Stačí v závorce uvést argumenty, zaškrtnuté na Nulu, oddělené čárkami. Pokud předpokládáme, že argumenty mají názvy arg1, arg2, hellip- argN, potom syntaxe Coalesce vypadá takto:

Koalesce (arg1, arg2, hellip-argN).

sql koalesce funkce

Připravíme několik tabulek pro studium mechanismu tohoto výrazu.

Příprava stolů

Pro lepší pochopení popisu Coalesce sql vytvoříme v databázi dvě tabulky obsahující informace o objektech nemovitostí.

První oblastní tabulka by měla obsahovat názvy objektů s nemovitostmi a jejich oblast. Oblast může být zdokonalena (oblast_yt) nebo deklarována (oblast_decl).

id

název_objektu

area_yt

area_decl

1

Budova 1

116,2

114

2

Nedokončený konstrukční objekt 1

568

3

Pokoj 1

64,7

4

Pokoj 2

34.2

5

Pozemek 1




112

111,6

6.

Zařízení 1

7.

Pokoje 3

27.9

8.

Stavba 2

37.2

36,4

9.

Budova 2

Druhá tabulka Basic_characteristic let obsahuje informace o hlavní charakteristice vlastnosti - Extension, Depth, Area, Scope, Height.

id

název_objektu

Rozšíření

Hloubka

Plocha

Rozsah

Výška

1

Budova 1

892,4

30

2

Budova 2

48

3

Zařízení 1

164,7

4

Pozemek 1

5

Pokoj 1

23.6

6.

Pokoj 2

34,7

7.

Pokoje 3

19.8

Prozkoumali jsme syntaxi Coalesce sql, popis, vlastnosti použití a pokračujeme přímo k příkladům.

Příklady použití

Syntaxe výrazu Coalesce je extrémně jednoduchá, ale je důležité si uvědomit, že výsledkem příkazu bude PRVNÍ neprázdná hodnota nalezená ze seznamu argumentů. Tato poznámka je velmi důležitá, takže argumenty ve výrazu musí být v pořadí významu. Nejjednodušší způsob, jak pochopit princip tabulky oblasti. Proveďte požadavek, který vybere název vlastnosti, stejně jako hodnotu oblasti:

SELECT Area.id, Area.object_name, spojit (Area.area_yt, Area.area_decl)

Z oblasti

Získat výsledek:

id

název_objektu

Coalesce

1

Budova 1

116,2

2

Nedokončený konstrukční objekt 1

568

3

Pokoj 1

64,7

4

Pokoj 2

34.2

5

Pozemek 1

112

6.

Zařízení 1

7.

Pokoje 3

27.9

8.

Stavba 2

37.2

9.

Budova 2

Pro objekty "Budova 1", "Pozemek 1" a "Stavba 2" byly oba hodnoty plochy vyplněny, avšak v prioritě byla oblast vylepšena, protože jsme nejprve uvedli v seznamu argumentů. Výraz Coalesce našel první neprázdnou hodnotu a odvodil ji a zastavil další zobrazení argumentů. Tato konstrukce dotazu je správná, protože specifikovaná oblast je specifičtější než deklarovaná. Pokud určíme oblast deklarovanou jako první argument, pak je-li toto pole tabulky plné, bylo by prioritou.

Kromě použití ve výběru se často používá výraz Coalesce s klauzulí Kde. Umožňuje vynechat výsledek těch řádků, ve kterých je seznam polí prázdný (nebo naopak, obsahují pouze ty hodnoty ve výsledku, kde není vyplněn seznam polí). Tato situace je všude: například při registraci nového zaměstnance byly do databáze zadány pouze základní informace o zaměstnanci a podrobné informace byly ponechány "později". Postupně vznikají "mezery" - buď před kontrolou, nebo při odeslání zaměstnance na dovolenou / služební cestu / pracovní neschopnost.

Vyberte si z tabulky s hlavními charakteristikami nemovitostí, které nemají žádnou hodnotu charakteristiky:

SELECT id, jméno_objektu

Z Basic_characteristic

Kde se spojí (Rozšíření, Hloubka, Oblast, Rozsah, Výška) je nulová

Pro tento dotaz je v tabulce jedna shoda - objekt "Pozemek 1", ve kterém jsou všechna pole s vlastnostmi prázdná:

id

název_objektu

4

Pozemek 1

sql spojuje funkce použití

Doufáme, že náš podrobný popis Coalesce vám pomohl pochopit všechny rysy používání tohoto výrazu a zároveň se zabývat důležitými nuancemi.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru