V tomto příspěvku budeme diskutovat o MySQL COALESCE a NULLIF Function. Ukážeme také příklady COALESCE MySQL a příklad funkce NULLIF MySQL
Funkce COALESCE MySQL
COALESCE v MySQL je velmi užitečná funkce pro výběr prvních nenulových hodnot ze seznamu hodnot
Syntaxe
COALESCE(hodnota1; hodnota2;hodnota3;…valn)
Výše uvedená syntaxe je ekvivalentní následujícímu příkazu IF-THEN-ELSE
Jestliže hodnota1 není NULL THEN hodnota1
ELSIF hodnota2 není NULL THEN hodnota2
ELSIF hodnota3 není NULL THEN hodnota3
ELSE NULL;
END IF
To je také ekvivalentní výrazu case
Případ
když hodnota1 není NULL, pak hodnota1
když hodnota2 není NULL, pak hodnota2
když hodnota3 není NULL, pak hodnota3
jinak NULL
endVyužití
Níže jsou uvedeny některé příklady funkce COALESCE
mysql> vybrat COALESCE(1,2,3,null);
+----------------------+
| COALESCE(1,2,3,null) |
+----------------------+
| 1 |
+---------------------+
1 řádek v sadě (0,00 s)
mysql> vybrat COALESCE (null,null,'a','b',null);
+----------------------------- -----+
| COALESCE(null;null;'a','b';null) |
+---------------------------- ------+
| a |
+----------------------------------+
1 řádek v sadě (0,00 s)mysql> select COALESCE(null,null,null);
+————————–+
| COALESCE(null,null,null) |
+————————–+
| NULL |
+————————–+
1 řádek v sadě (0,00 s)Předpokládejme, že máte tabulku EMP, která obsahuje mobilní_číslo zaměstnance, číslo_kanceláře a číslo domů. Pro kterékoli z těchto polí může obsahovat hodnotu null. Nyní chcete vybrat telefon s prioritou mobile_number> office_number> home_number v případě nulových hodnot. Můžeme tedy použít níže uvedené spojení
vyberte emp_name, coalesce(mobile_number, office_number, home_number) contact_no from emp;Funkce NULLIF MySQL
Funkce Nullif v MySQL je velmi užitečná funkce pro porovnání dvou hodnot a zadání hodnoty null v případě, že jsou stejné, a zadání hodnoty 1 v případě, že nejsou stejné
NULLIF(hodnota1,hodnota2)
Využití
Níže jsou uvedeny některé příklady příkazu NULLIF.
mysql> select nullif(1,2);
+————-+
| nullif(1,2) |
+————-+
| 1 |
+————-+
1 řádek v sadě (0,00 s)mysql> select nullif(2,1);
+————-+
| nullif(2,1) |
+————-+
| 2 |
+————-+
1 řádek v sadě (0,00 s)mysql> select nullif(1,1);
+-------------+
| nullif(1,1) |
+-------------+
| NULL |
+-------------+
1 řádek v sadě (0,00 s)Doufám, že tento příspěvek na databázi MySQL COALESCE a funkce NULLIF bude zajímavý a užitečný. Poskytněte nám prosím zpětnou vazbu pro zlepšení
Související články
Podrobný průvodce instalací MySQL na Windows
Sloupec automatického přírůstku – sekvence jako výchozí hodnota v Oracle a MySQL
51 nejčastějších otázek a odpovědí v rozhovorech s MySQL
Krok za krokem průvodce sestavením místní vývojové prostředí Apache PHP MySQL v systému Windows
Jak obnovit heslo root MySQL