logo

MySQL IFNULL()

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.

MySQL IFNULL

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.

MySQL IFNULL

Poznámka: Měli byste se vyhnout použití funkce IFNULL() v klauzuli WHERE, protože tato funkce snižuje výkon dotazu.