logo

MySQL IFNULL()

Táto časť vám pomôže dozvedieť sa o funkcii MySQL IFNULL(). Funkcia IFNULL je súčasťou funkcie riadiaceho toku MySQL používanej na spracovanie hodnôt NULL.

Funkcia IFNULL akceptuje dva výrazy, a ak je prvý výraz nie je nulový , vráti prvé argumenty. Ak je prvý výraz nulový , vráti druhý argument. Táto funkcia vracia reťazec alebo číselnú hodnotu v závislosti od kontextu, v ktorom sa používa.

Syntax

Môžeme použiť funkciu IFNULL s nasledujúcou syntaxou:

 IFNULL (Expression1, Expression2) 

Vráti výraz1, keď výraz1 nie je null. V opačnom prípade vráti výraz výraz2.

Parametre

Parameter Požiadavka Popisy
Výraz 1 Požadovaný Tento výraz sa používa na kontrolu, či je NULL alebo nie.
Výraz 2 Požadovaný Vráti sa, keď je výraz 1 NULL.

Podpora verzie MySQL

Funkcia IFNULL môže podporovať nasledujúce verzie MySQL:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

Poďme pochopiť funkciu MySQL IFNULL() pomocou nasledujúcich príkladov. Môžeme použiť funkciu IFNULL s SELECT vyhlásenie priamo.

Príklad 1

 SELECT IFNULL(0,5); 

Vo vyššie uvedenej funkcii príkaz MySQL kontroluje prvý výraz. Ak prvý výraz nie je NULL, vráti prvý výraz, ktorý je nula.

Výkon:

 0 

Príklad 2

 SELECT IFNULL('Hello', 'javaTpoint'); 

Vyššie uvedený príkaz MySQL kontroluje prvý výraz. Ak prvý výraz nie je NULL, vráti prvý výraz, ktorý je 'Ahoj' hodnotu.

Výkon:

 Hello 

Príklad 3

 SELECT IFNULL(NULL,5); 

Nasledujúci príkaz MySQL kontroluje prvý výraz. Ak prvý výraz nie je NULL, vráti prvý výraz. V opačnom prípade vráti druhý výraz, ktorým je päť (5).

Výkon:

 5 

Príklad 4

Tu vytvoríme tabuľku 'student_contacts' a vykonajte funkciu IFNULL().

 CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, ); 

Teraz musíte vložiť údaje do tabuľky. Po vložení hodnôt do tabuľky vykonajte nasledujúci dotaz.

 SELECT contactname, cellphone, homephone FROM student_contacts; 

Zobrazí výstup, ktorý obsahuje všetky riadky a stĺpce. Tu vidíme, že niektoré kontakty majú iba mobilný telefón alebo telefónne číslo domov.

MySQL IFNULL

Vo vyššie uvedenom výstupe dostaneme všetky kontakty meno počasie mobilný telefón a domáce telefónne číslo je k dispozícii alebo nie. Takže v tom prípade hrá dôležitú úlohu funkcia IFNULL().

Teraz spustite nasledujúci dotaz MySQL. Tento príkaz vráti domáci telefón číslo, ak je mobilný telefón NULL.

 SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact; 

Výkon:

Keď sa vyššie uvedený príkaz MySQL úspešne spustí, poskytne nasledujúci výstup.

MySQL IFNULL

Poznámka: Mali by ste sa vyhnúť použitiu funkcie IFNULL() v klauzule WHERE, pretože táto funkcia znižuje výkon dotazu.