Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 15127|Antwoord: 0

[Bron] Gebruik van IFNULL, NULLIF en ISNULL

[Link kopiëren]
Geplaatst op 11-05-2018 13:37:59 | | |
Het gebruik van isnull, ifnull, nullif is als volgt:

Gebruik van isnull(expr):Als expr null is, dan geeft isnull() een waarde van 1 terug, anders geeft het 0 terug.
MySQL> select isnull(1+1);
-> 0
MySQL> selecteer isnull(1/0);
-> 1
Het gebruik van = voor nulwaardevergelijkingen is meestal onjuist.

De isnull()-functie deelt enkele van dezelfde kenmerken als de is null-vergelijkingsoperator. Zie de notitie over is null.

Gebruik van IFNULL(expr1,expr2):

Als expr1 niet NULL is, is de retourwaarde van IFNULL() expr1;
Anders geeft het een waarde van expr2 terug. IFNULL() geeft ofwel een getal of een string terug, afhankelijk van de context waarin het wordt gebruikt.

mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECTEER IFNULL(NULL,10);
-> 10
mysql> SELECTEER IFNULL(1/0,10);
-> 10
mysql> SELECT
IFNULL(1/0,'ja');

-> 'ja'

De standaardresultaatwaarde voor IFNULL(expr1,expr2) is de meer "generieke" van de twee expressies, in de volgorde STRING, REAL of
INTEGER。 Stel dat een situatie waarin een expressie-gebaseerde tabel, of MySQL, de retourwaarde van IFNULL() moet opslaan in een tijdelijke tabel in het interne geheugen:
MAAK EEN TABEL AAN TMP SELECTEER IFNULL(1,'TEST') ALS TEST;
In dit voorbeeld is de testkolom van het type CHAR(4).
Gebruik van NULLIF(expr1,expr2):  
Als expr1
= expr2 waar is, dan is de retourwaarde NULL, anders is de retourwaarde expr1. Dit is hetzelfde als CASE WHEN expr1 = expr2
DAN IS NULL ELSE expr1 END hetzelfde.
mysql> SELECT
NULLIF(1,1);

-> NULL
mysql> SELECT NULLIF(1,2);
-> 1
Als de parameters niet gelijk zijn, krijgt MySQL de waarde expr1 twee keer.






Vorig:Server-CPU hardwareprestatietest
Volgend:Bij het gebruik van MySQL om meer dan een miljoen dataniveaus te verwerken, zijn er een paar gezond verstand dat je moet kennen
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com