Příkaz případu SQL, když je hodnota null

Prikaz Pripadu Sql Kdyz Je Hodnota Null



Podmíněné provádění odkazuje na schopnost spustit blok kódu pouze v případě, že je splněna určitá podmínka. Je to rozšířená operace ve vývoji. Například nejběžnějším způsobem, jak dosáhnout podmíněného spuštění v SQL, je použití příkazu CASE.

Příkaz CASE nám umožňuje provádět podmíněnou logiku kontrolou hodnoty jednoho nebo více sloupců v tabulce a následným provedením konkrétního bloku kódu na základě výsledku této kontroly.







Tento tutoriál nás učí, jak používat příkaz CASE, pokud je daná hodnota NULL.



SQL Case Statement

Následující text ukazuje syntaxi příkazu CASE v SQL:



výraz CASE
KDYŽ hodnota_1 POTOM výsledek_1
KDYŽ hodnota_2 POTOM výsledek_2
...
ELSE default_result
KONEC


Zvažte následující příklad:





vytvořit tabulku studentů (
id int auto_increment není primární klíč null,
jméno varchar ( padesáti ) ,
science_score int není null,
math_score int není null,
history_score int není null,
other int not null
) ;
VLOŽIT DO studentů ( jméno, vědecké_skóre, matematické_skóre, historické_skóre, jiné )
HODNOTY
( 'John Doe' , 80 , 70 , 90 , 85 ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 ) ;


Například můžeme použít příkaz CASE k vyhodnocení různých možností a vrátit konkrétní akci, jak je ukázáno v následujícím příkladu:

VYBRAT
název,
science_score,
matematické_skóre,
historie_skóre,
jiný,
POUZDRO
KDYŽ ( science_score + math_score + history_score + další ) / 4 > = 90 PAK 'A'
KDYŽ ( science_score + math_score + history_score + další ) / 4 > = 80 PAK 'B'
KDYŽ ( science_score + math_score + history_score + další ) / 4 > = 70 PAK 'C'
KDYŽ ( science_score + math_score + history_score + další ) / 4 > = 60 PAK 'D'
JINÝ 'F'
KONEC JAKO 'Školní známka'
OD studentů;


Výsledný výstup:



Příkaz případu SQL, když je hodnota null

Při práci s hodnotami null můžeme použít příkaz CASE k provedení bloku kódu. Kromě toho můžeme použít operátory IS NULL a IS NOT Null k vyhodnocení hodnot NULL a provedení konkrétní akce na základě vrácené hodnoty.

Zvažte následující příklad syntaxe:

VYBRAT
POUZDRO
KDYŽ je název_sloupce NULL THEN 'Hodnota je nulová'
JINÝ 'Hodnota není nulová'
KONEC JAKO výsledek
FROM název_tabulky;


V tomto případě zkontrolujeme, zda je hodnota poskytnutého sloupce název null. Pokud je pravda, vrátíme hodnotu „Hodnota je nulová“. tětiva. V opačném případě, pokud hodnota není null, vrátíme hodnotu „Value is not null“. tětiva.

Klíčové slovo AS používáme také jako alias pro výsledný řetězec.

Zvažte následující příklad tabulky:

VLOŽIT DO studentů ( jméno, vědecké_skóre, matematické_skóre, historické_skóre, jiné, temp )
HODNOTY
( 'John Doe' , 80 , 70 , 90 , 85 , nula ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , nula ) ,
( 'Tom Wilson' , 70 , 75 , 85 , 80 , 't' ) ,
( 'Sara Lee' , 88 , 92 , 90 , 85 , 's' ) ,
( 'Mike Johnson' , 75 , 80 , 72 , 68 , nula ) ,
( 'Emily Chen' , 92 , 88 , 90 , 95 , nula ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'nula' ) ,
( 'Lisa Kim' , 90 , 85 , 87 , 92 , '' ) ,
( 'Mark Davis' , 72 , 68 , 75 , 80 , nula ) ,
( 'Ava Lee' , 90 , 95 , 92 , 88 , 'A' ) ;


Poté můžeme vytisknout konkrétní zprávu pro hodnoty null pomocí příkazu CASE.

vybrat jméno, brigáda,
POUZDRO
KDYŽ JE TEPL NULL PAK 'Hodnota je nulová'
JINÝ 'Hodnota není nulová'
KONEC JAKO výsledek
OD studentů s ;


Výstup:

Závěr

Naučili jsme se pracovat s příkazem SQL CASE, abychom vyhodnotili konkrétní podmínku a na základě výsledné hodnoty provedli požadovaný úkol.