logo

MySQL IFNULL()

Ta sekcja pomoże Ci poznać funkcję MySQL IFNULL(). Funkcja IFNULL jest częścią funkcji przepływu sterowania MySQL używanej do obsługi wartości NULL.

Funkcja IFNULL akceptuje dwa wyrażenia, a jeśli pierwszym wyrażeniem jest Nie jest zerem , zwraca pierwsze argumenty. Jeśli pierwszym wyrażeniem jest zero , zwraca drugi argument. Ta funkcja zwraca wartość łańcuchową lub liczbową, w zależności od kontekstu, w którym jest używana.

Składnia

Możemy użyć funkcji IFNULL z następującą składnią:

 IFNULL (Expression1, Expression2) 

Zwraca wyrażenie1, gdy wyrażenie1 nie ma wartości null. W przeciwnym razie zwróci wyrażenie2.

Parametry

Parametr Wymóg Opisy
Wyrażenie 1 Wymagany To wyrażenie służy do sprawdzania, czy ma wartość NULL, czy nie.
Wyrażenie 2 Wymagany Powróci, gdy wyrażenie 1 będzie miało wartość NULL.

Obsługa wersji MySQL

Funkcja IFNULL może obsługiwać następujące wersje MySQL:

  • MySQL8.0
  • MySQL-a 5.7
  • MySQL-a 5.6
  • MySQL-a 5.5
  • MySQL 5.1
  • MySQL5.0
  • MySQL 4.1
  • MySQL 4.0

Pozwól nam zrozumieć funkcję MySQL IFNULL() na poniższych przykładach. Możemy użyć funkcji IFNULL z WYBIERAĆ oświadczenie bezpośrednio.

Przykład 1

 SELECT IFNULL(0,5); 

W powyższej funkcji instrukcja MySQL sprawdza pierwsze wyrażenie. Jeśli pierwsze wyrażenie nie ma wartości NULL, zwróci pierwsze wyrażenie, które ma wartość zero.

Wyjście:

 0 

Przykład 2

 SELECT IFNULL('Hello', 'javaTpoint'); 

Powyższa instrukcja MySQL sprawdza pierwsze wyrażenie. Jeśli pierwsze wyrażenie nie ma wartości NULL, zwróci pierwsze wyrażenie, tj 'Cześć' wartość.

Wyjście:

 Hello 

Przykład 3

 SELECT IFNULL(NULL,5); 

Następująca instrukcja MySQL sprawdza pierwsze wyrażenie. Jeśli pierwsze wyrażenie nie ma wartości NULL, zwróci pierwsze wyrażenie. W przeciwnym razie zwróci drugie wyrażenie, czyli pięć (5).

Wyjście:

 5 

Przykład 4

Tutaj stworzymy tabelę „kontakty_studenta” i wykonaj funkcję IFNULL().

 CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, ); 

Teraz musisz wstawić dane do tabeli. Po wstawieniu wartości do tabeli wykonaj poniższe zapytanie.

 SELECT contactname, cellphone, homephone FROM student_contacts; 

Wyświetli dane wyjściowe zawierające wszystkie wiersze i kolumny. Tutaj widzimy, że niektóre kontakty mają tylko numer telefonu komórkowego lub telefonu domowego.

MySQL JEŻELI NULL

W powyższym wyniku otrzymamy nazwę wszystkich kontaktów, telefon komórkowy oraz numer telefonu domowego, który jest dostępny lub nie. Zatem w tym przypadku funkcja IFNULL() odgrywa ważną rolę.

Teraz uruchom następujące zapytanie MySQL. Ta instrukcja zwraca telefon domowy numer, jeśli telefon komórkowy ma wartość NULL.

 SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact; 

Wyjście:

Gdy powyższa instrukcja MySQL zostanie pomyślnie wykonana, wyświetli następujący wynik.

MySQL JEŻELI NULL

Uwaga: Należy unikać używania funkcji IFNULL() w klauzuli WHERE, ponieważ funkcja ta zmniejsza wydajność zapytania.