sql >> Databáze >  >> RDS >> Oracle

MySQL COALESCE a funkce NULLIF

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
end

Využ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


  1. Začínáme s fulltextovým vyhledáváním SQLite

  2. lastInsertId nefunguje v Postgresql

  3. Zpracování souběžného požadavku při setrvání v databázi Oracle?

  4. Read Committed je nutností pro distribuované databáze SQL kompatibilní s Postgres