SQL Case Statement, gdy wartość jest równa Null

Sql Case Statement Gdy Wartosc Jest Rowna Null



Wykonywanie warunkowe odnosi się do możliwości wykonania bloku kodu tylko wtedy, gdy spełniony jest określony warunek. Jest to szeroko zakrojona operacja w fazie rozwoju. Na przykład najpowszechniejszym sposobem wykonania warunkowego w języku SQL jest użycie instrukcji CASE.

Instrukcja CASE pozwala nam wykonać logikę warunkową, sprawdzając wartość jednej lub więcej kolumn w tabeli, a następnie wykonując określony blok kodu na podstawie wyniku tego sprawdzenia.







Ten samouczek uczy nas, jak używać instrukcji CASE, jeśli dana wartość to NULL.



Instrukcja przypadku SQL

Poniżej przedstawiono składnię instrukcji CASE w języku SQL:



wyrażenie CASE
KIEDY wartość_1 TO wynik_1
KIEDY wartość_2 TO wynik_2
...
ELSE domyślny_wynik
KONIEC


Rozważ następujący przykład:





utwórz studentów tabeli (
ID int auto_increment nie jest pustym kluczem podstawowym,
imię varchar ( pięćdziesiąt ) ,
science_score int nie jest puste,
math_score int nie jest pusty,
history_score int nie jest puste,
inny int nie jest pusty
) ;
WŁĄCZ SIĘ W UCZNIÓW ( name, science_score, math_score, history_score, inne )
WARTOŚCI
( 'Nieznany z nazwiska' , 80 , 70 , 90 , 85 ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 ) ,
( „Toma Wilsona” , 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 ) ,
( „Marka Davisa” , 72 , 68 , 75 , 80 ) ,
( „Ava Lee” , 90 , 95 , 92 , 88 ) ;


Na przykład możemy użyć instrukcji CASE do oceny różnych opcji i zwrócenia określonej akcji, jak pokazano w poniższym przykładzie:

WYBIERAĆ
nazwa,
wynik_nauki,
wynik_matematyczny,
wynik_historii,
Inny,
SPRAWA
GDY ( wynik_naukowy + wynik_matematyczny + wynik_historyczny + inne ) / 4 > = 90 NASTĘPNIE 'A'
GDY ( wynik_naukowy + wynik_matematyczny + wynik_historyczny + inne ) / 4 > = 80 NASTĘPNIE 'B'
GDY ( wynik_naukowy + wynik_matematyczny + wynik_historyczny + inne ) / 4 > = 70 NASTĘPNIE 'C'
GDY ( wynik_naukowy + wynik_matematyczny + wynik_historyczny + inne ) / 4 > = 60 NASTĘPNIE 'D'
W PRZECIWNYM RAZIE 'F'
KONIEC JAK 'Stopień'
OD studentów;


Wynikowy wynik:



SQL Case Statement, gdy wartość jest równa Null

Możemy użyć instrukcji CASE do wykonania bloku kodu, gdy mamy do czynienia z wartościami pustymi. Ponadto możemy użyć operatorów IS NULL i IS NOT Null do oszacowania wartości NULL i wykonania określonej akcji na podstawie zwróconej wartości.

Rozważ następujący przykład składni:

WYBIERAĆ
SPRAWA
KIEDY nazwa_kolumny ma wartość NULL, TO „Wartość jest zerowa”
W PRZECIWNYM RAZIE „Wartość nie jest pusta”
KONIEC AS wynik
Z nazwa_tabeli;


W tym przypadku sprawdzamy, czy wartość podanej nazwa_kolumny jest pusta. Jeśli to prawda, zwracamy „Wartość jest pusta”. strunowy. W przeciwnym razie, jeśli wartość nie jest pusta, zwracamy „Wartość nie jest pusta”. strunowy.

Używamy również słowa kluczowego AS jako aliasu dla ciągu wynikowego.

Rozważ następującą przykładową tabelę:

WŁĄCZ SIĘ W UCZNIÓW ( nazwa, wynik_naukowy, wynik_matematyczny, wynik_historyczny, inny, temp )
WARTOŚCI
( 'Nieznany z nazwiska' , 80 , 70 , 90 , 85 , zero ) ,
( 'Jane Smith' , 95 , 85 , 80 , 92 , zero ) ,
( „Toma Wilsona” , 70 , 75 , 85 , 80 , 'T' ) ,
( „Sara Lee” , 88 , 92 , 90 , 85 , 'S' ) ,
( „Mike Johnson” , 75 , 80 , 72 , 68 , zero ) ,
( „Emily Chen” , 92 , 88 , 90 , 95 , zero ) ,
( 'Chris Brown' , 85 , 80 , 90 , 88 , 'zero' ) ,
( „Lisa Kim” , 90 , 85 , 87 , 92 , '' ) ,
( „Marka Davisa” , 72 , 68 , 75 , 80 , zero ) ,
( „Ava Lee” , 90 , 95 , 92 , 88 , 'A' ) ;


Następnie możemy wydrukować określony komunikat dla wartości pustych, używając instrukcji CASE.

wybierać imię, temp.,
SPRAWA
KIEDY temp jest NULL TO „Wartość jest zerowa”
W PRZECIWNYM RAZIE „Wartość nie jest pusta”
KONIEC AS wynik
OD uczniów;


Wyjście:

Wniosek

Nauczyliśmy się, jak pracować z instrukcją SQL CASE, aby oszacować określony warunek i wykonać wymagane zadanie na podstawie wynikowej wartości.