shrnutí: v tomto tutoriálu se dozvíte o funkci PostgreSQL COALESCE, která vrací první argument bez null. Naučíte se, jak tuto funkci použít v příkazu SELECT pro efektivní zpracování hodnot null.
PostgreSQL SPLÝVAJÍ syntaxe funkce
syntaxe COALESCE funkce je následující:
Code language: SQL (Structured Query Language) (sql)
COALESCE funkce přijímá neomezený počet argumentů. Vrací první argument, který není nulový., Pokud jsou všechny argumenty null, funkce COALESCE vrátí null.
funkceCOALESCE vyhodnocuje argumenty zleva doprava, dokud nenajde první nulový argument. Všechny zbývající argumenty z prvního nulového argumentu nejsou vyhodnoceny.
COALESCE funkce poskytuje stejnou funkci jako NVL nebo IFNULL funkce poskytované SQL-standard. MySQL má funkci IFNULL, zatímco Oracle poskytuje funkci NVL.,
Viz následující příklady:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
často používáme COLAESCE funkce nahradit výchozí hodnota pro null hodnoty, když jsme dotazování na data. Například chceme zobrazit výňatek z blogu, pokud není výňatek poskytnut, můžeme použít prvních 150 znaků obsahu příspěvku., K dosažení tohoto cíle, můžeme použít COALESCE funkce:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL SPLÝVAJÍ příklad
Pojďme se podívat na příklad použití COALESCE funkce. Za prvé, jsme se vytvořit tabulku s názvem položky pomocí příkazu CREATE TABLE následovně:
Code language: SQL (Structured Query Language) (sql)
k Dispozici jsou čtyři pole, v items tabulky:
- id: primární klíč, který identifikuje položku v tabulce položek.
- produkt: Název produktu.
- cena: cena produktu.,
- sleva: sleva produktu.
za Druhé, jsme-li vložit některé záznamy do položky tabulky pomocí INSERT takto:
za Třetí, jsme dotaz na net ceny produktů pomocí následujícího vzorce:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
podíváte-Li se na čtvrtém řádku, můžete si všimnout, že čistá cena produktu D je null, což zřejmě není správné., Problémem je sleva produktu D je null, proto když vezmeme nulovou hodnotu pro výpočet čisté ceny, PostgreSQL vrátí null.
získejte správnou cenu, musíme předpokládat, že pokud je sleva nulová, je nulová., Pak můžeme použít COALESCE funkce následovně:
Code language: SQL (Structured Query Language) (sql)
čisté ceny produktu D 500 protože jsme použít žádné místo hodnoty null, když jsme spočítali čisté ceny.
kromě použití funkce COALESCE můžete v tomto případě použít výraz CASE pro zpracování hodnot null. Viz následující dotaz, který používá výraz CASE k dosažení stejného výsledku výše.,
Code language: SQL (Structured Query Language) (sql)
ve výše uvedeném dotazu říkáme, zda je sleva nulová, pak použijte nulu (0) jinak použijte diskontní hodnotu ve výrazu, který vypočítá čistou cenu.
pokud jde o výkon,COALESCE funkce a případové vyjádření jsou stejné. Preferujeme COALESCE funkce než CASE výraz, protože COALESCE funkce dělá dotazu kratší a snadněji číst.
 v tomto tutoriálu jste se naučili používat funkci COALESCE k nahrazení hodnot null v dotazu.,
- byl tento tutoriál užitečný ?
- YesNo
Leave a Reply