Mysql ifnull

Mysql ifnull
“I dette innlegget vil vi snakke om IFNULL -funksjonen i MySQL. Vi vil også dekke praktiske eksempler på hvordan du bruker funksjonen.”

Hva er IFNULL -funksjonen i MySQL?

IFNull () -funksjonen i MySQL lar deg introdusere og utføre kontrollstrømoperasjoner i SQL -spørsmål.

Utdraget nedenfor skildrer funksjonssyntaks:

IFNull (Expr1, Expr2)

Funksjonen lar deg passere to argumenter. Det vil da returnere det første argumentet hvis det ikke er null og det andre argumentet hvis ellers.

Du kan passere argumentene som bokstavelige verdier eller støttede SQL -uttrykk. Det er godt å huske at funksjonsreturstypen kan variere avhengig av konteksten den brukes.

Eksempler

Følgende eksempler illustrerer de forskjellige metodene for å bruke MySQL IFNULL -funksjonen.

mysql> velg ifnull (1,0);

I dette tilfellet evaluerer funksjonen mellom 1 og 0. Returverdien er som vist:

+-------------+
| ifnull (1,0) |
+-------------+
| 1 |
+-------------+
1 rad i sett (0.00 sek)

Spørringen over returnerer 1 siden det første argumentet ikke er null. Husk at 0 ikke blir behandlet som en nullverdi. For eksempel:

mysql> velg ifnull (0,1);

Produksjon:

+-------------+
| ifnull (0,1) |
+-------------+
| 0 |
+-------------+
1 rad i sett (0.00 sek)

Spørringen ovenfor skal returnere 1 som en 0 blir ikke behandlet som en nullverdi.

Et annet eksempel er vist nedenfor:

mysql> velg ifnull (null, 1);

I dette eksemplet skal funksjonen returnere den andre parameteren da den første parameteren inneholder en nullverdi.

+-----------------+
| IfNull (NULL, 1) |
+-----------------+
| 1 |
+-----------------+
1 rad i sett (0.00 sek)

Tilsvarende blir en tom streng ikke behandlet som en nullverdi. Et eksempel på illustrasjonen er vist nedenfor:

mysql> velg ifnull (", @@ økt.tidssone);

I dette tilfellet skal funksjonen returnere en tom streng som vist:

+---------------------------------+
| ifnull (", @@ økt.TIME_ZONE) |
+---------------------------------+
| |
+---------------------------------+
1 rad i sett (0.01 sek)

Som nevnt kan vi bruke IFNULL -funksjonen med et uttrykk. For eksempel:

mysql> velg ifnull (1/0, 'hallo');

I dette tilfellet bør funksjonen returnere den andre parameteren som deling med null returnerer en nullverdi.

+----------------------+
| IfNull (1/0, 'Hallo') |
+----------------------+
| Hei |
+----------------------+
1 rad i sett, 1 advarsel (0.00 sek)

Til slutt kan vi bruke IFNULL -funksjonen til å velge verdier fra en tabell, som illustrert i eksemplet nedenfor:

mysql> Opprett database hvis ikke eksisterer temp_db;
mysql> bruk temp_db;
mysql> Opprett tabell temp_table (id int auto_increment primærnøkkel, navn varchar (100), country varchar (20));

Vi kan deretter sette inn dataene som vist:

mysql> sett inn i temp_table (navn, land)
-> Verdier ('Emily', 'United-States'),
-> ('Natalia', 'Italia'),
-> ('Tobia', null),
-> ('Michael', null);

Til slutt kan vi bruke IFNULL -funksjonen til å velge postene der verdien av landskolonnen ikke er null, som vist:

mysql> velg navn, IFNULL (land, 'utilgjengelig') land fra temp_table;

Forespørselen ovenfor skal erstatte NULL -kolonnene med "utilgjengelig".

+---------+---------------+
| navn | land |
+---------+---------------+
| Emily | United-States |
| Natalia | Italia |
| Tobia | Ikke tilgjengelig |
| Michael | Ikke tilgjengelig |
+---------+---------------+
4 rader i settet (0.01 sek)

Konklusjon

I dette innlegget lærte du hvordan du bruker IFNULL -funksjonen i MySQL for å sjekke om en spesifikk parameter er null eller ikke.

Takk for at du leste!!