Tato část vám pomůže dozvědět se o funkci MySQL IFNULL(). Funkce IFNULL je součástí funkce řídicího toku MySQL používané pro práci s hodnotami NULL.
Funkce IFNULL přijímá dva výrazy, a pokud je první výraz nenulový , vrátí první argumenty. Pokud je první výraz nula , vrátí druhý argument. Tato funkce vrací buď řetězcovou nebo číselnou hodnotu, v závislosti na kontextu, kde je použita.
Syntax
Můžeme použít funkci IFNULL s následující syntaxí:
IFNULL (Expression1, Expression2)
Vrátí výraz1, když výraz1 není null. V opačném případě vrátí výraz výraz2.
Parametry
Parametr | Požadavek | Popisy |
---|---|---|
Výraz 1 | Požadované | Tento výraz se používá ke kontrole, zda je NULL nebo ne. |
Výraz 2 | Požadované | Vrátí se, když je výraz 1 NULL. |
Podpora verze MySQL
Funkce IFNULL může podporovat následující verze 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
Pojďme pochopit funkci MySQL IFNULL() pomocí následujících příkladů. Můžeme použít funkci IFNULL s VYBRAT prohlášení přímo.
Příklad 1
SELECT IFNULL(0,5);
Ve výše uvedené funkci příkaz MySQL kontroluje první výraz. Pokud první výraz není NULL, vrátí první výraz, který je nula.
Výstup:
0
Příklad 2
SELECT IFNULL('Hello', 'javaTpoint');
Výše uvedený příkaz MySQL kontroluje první výraz. Pokud první výraz není NULL, vrátí první výraz, který je 'Ahoj' hodnota.
Výstup:
Hello
Příklad 3
SELECT IFNULL(NULL,5);
Následující příkaz MySQL kontroluje první výraz. Pokud první výraz není NULL, vrátí první výraz. V opačném případě vrátí druhý výraz, což je pět (5).
Výstup:
5
Příklad 4
Zde vytvoříme tabulku 'student_contacts' a proveďte funkci 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, );
Nyní je potřeba vložit data do tabulky. Po vložení hodnot do tabulky proveďte následující dotaz.
SELECT contactname, cellphone, homephone FROM student_contacts;
Zobrazí výstup, který obsahuje všechny řádky a sloupce. Zde vidíme, že některé kontakty mají pouze mobilní telefon nebo domácí telefonní číslo.
Ve výše uvedeném výstupu získáme jméno všech kontaktů, počasí, mobilní telefon a domácí telefonní číslo je k dispozici nebo ne. Takže v tom případě hraje důležitou roli funkce IFNULL().
Nyní spusťte následující dotaz MySQL. Tento příkaz vrací domácí telefon číslo, pokud je mobilní telefon NULL.
SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact;
Výstup:
Když se výše uvedený příkaz MySQL úspěšně spustí, poskytne následující výstup.