W tym poście będziemy omawiać funkcje MySQL COALESCE i NULLIF. Pokażemy również przykłady MySQL COALESCE i przykład funkcji NULLIF MySQL
Funkcja MySQL COALESCE
COALESCE w MySQL to bardzo przydatna funkcja do wybierania pierwszych wartości niezerowych z listy wartości
Składnia
COALESCE(wart1, wart2, wart3,…wart)
Powyższa składnia jest odpowiednikiem następującej instrukcji IF-THEN-ELSE
IF val1 is not NULL THEN val1
ELSIF val2 is not NULL THEN val2
ELSIF val3 is not NULL THEN val3
ELSE NULL;
END IF
Jest to również równoważne wyrażeniu przypadku
Case
when val1 is not NULL then val1
when val2 is not NULL then val2
when val3 is not NULL then val3
else NULL
end
Wykorzystanie
Poniżej kilka przykładów funkcji COALESCE
mysql> select COALESCE(1,2,3,null);
+----------------------+
| COALESCE(1,2,3,null) |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
mysql> select COALESCE(null,null,'a','b',null);
+----------------------------------+
| COALESCE(null,null,'a','b',null) |
+----------------------------------+
| a |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select COALESCE(null;null;null);
+————————–+
| COALESCE(null;null;null) |
+————————–+
| NULL |
+————————–+
1 wiersz w zestawie (0,00 s)
Załóżmy, że masz tabelę EMP, która zawiera numer_mobilny pracownika, numer_biura i numer_domu. Może zawierać wartość null dla dowolnego z tych pól. Teraz chcesz wybrać telefon o priorytecie numer_mobilny> numer_biura> numer_domu w przypadku wartości null. Możemy więc użyć poniższego zestawienia
select emp_name, coalesce(mobile_number,office_number,home_number) contact_no from emp;
Funkcja MySQL NULLIF
Funkcja Nulif w MySQL jest bardzo użyteczną funkcją do porównywania dwóch wartości i dawania wartości null, jeśli są takie same, oraz val1 w przypadku, gdy nie są takie same
NULLIF(wartość1;wartość2)
Wykorzystanie
Poniżej znajduje się kilka przykładów wyrażenia NULLIF.
mysql> select nullif(1,2);
+————-+
| nullif(1,2) |
+————-+
| 1 |
+————-+
1 wiersz w zestawie (0,00 s)
mysql> select nullif(2,1);
+————-+
| nullif(2,1) |
+————-+
| 2 |
+————-+
1 wiersz w zestawie (0,00 s)
mysql> select nullif(1,1);
+-------------+
| nullif(1,1) |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)
Mam nadzieję, że ten post dotyczący bazy danych MySQL COALESCE i funkcji NULLIF okaże się interesujący i przydatny. Prześlij opinię, aby ulepszyć
Powiązane artykuły
Przewodnik krok po kroku dotyczący instalacji MySQL w systemie Windows
Kolumna automatycznego przyrostu — sekwencja jako wartość domyślna w Oracle i MySQL
51 najczęściej zadawanych pytań i odpowiedzi dotyczących MySQL w wywiadzie
Przewodnik krok po kroku, jak zbudować lokalne środowisko programistyczne Apache PHP MySQL w systemie Windows
Jak zresetować hasło roota MySQL