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.
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.