Heim > Datenbank > MySQL-Tutorial > Hauptteil

Eine kurze Diskussion zur detaillierten Erklärung der Funktion ifnull() ähnlich der Funktion nvl() in MySQL

黄舟
Freigeben: 2019-02-22 16:25:43
Original
2137 Leute haben es durchsucht

Der folgende Editor bietet Ihnen eine kurze Diskussion der ifnull()-Funktion, die der nvl()-Funktion in MySQL ähnelt. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.

Empfohlene verwandte MySQL-Video-Tutorials: „MySQL-Tutorial

IFNULL(expr1,expr2)

If expr1 Nicht NULL, IFNULL() gibt expr1 zurück, andernfalls gibt es expr2 zurück. IFNULL() gibt je nach Kontext, in dem es verwendet wird, einen Zahlen- oder Stringwert zurück.

mysql> select IFNULL(1,0);
    -> 1
mysql> select IFNULL(0,10);
    -> 0
mysql> select IFNULL(1/0,10);
    -> 10
mysql> select IFNULL(1/0,'yes');
    -> 'yes'
 
IF(expr1,expr2,expr3)
Nach dem Login kopieren

Wenn expr1 TRUE ist (expr1<>0 und expr1<>NULL), dann gibt IF() expr2 zurück, andernfalls gibt es expr3 zurück. IF() gibt je nach Kontext, in dem es verwendet wird, einen numerischen oder einen String-Wert zurück.

mysql> select IF(1>2,2,3);
    -> 3
mysql> select IF(1<2,&#39;yes&#39;,&#39;no&#39;);
    -> &#39;yes&#39;
mysql> select IF(strcmp(&#39;test&#39;,&#39;test1&#39;),&#39;yes&#39;,&#39;no&#39;);
    -> &#39;no&#39;
Nach dem Login kopieren

expr1 wird als ganzzahliger Wert ausgewertet. Das bedeutet, dass Sie beim Testen von Gleitkomma- oder Zeichenfolgenwerten eine Vergleichsoperation verwenden sollten.

mysql> select IF(0.1,1,0);
    -> 0
mysql> select IF(0.1<>0,1,0);
    -> 1
Nach dem Login kopieren

Im ersten Fall oben gibt IF(0.1) 0 zurück, da 0.1 in einen ganzzahligen Wert umgewandelt wird, wodurch IF(0) getestet wird. Das ist möglicherweise nicht das, was Sie erwarten. Im zweiten Fall testet der Vergleich den ursprünglichen Gleitkommawert, um festzustellen, ob er ungleich Null ist, und das Ergebnis des Vergleichs wird als Ganzzahl verwendet.

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END 
  
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Nach dem Login kopieren

Die erste Version gibt das Ergebnis zurück, wobei Wert=Vergleichswert ist. In der zweiten Version wird das Ergebnis zurückgegeben, wenn die erste Bedingung wahr ist. Wenn kein passender Ergebniswert vorhanden ist, wird das Ergebnis im Ergebnis nach ELSE zurückgegeben. Wenn kein ELSE-Teil vorhanden ist, wird NULL zurückgegeben.

mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END;
    -> "one"
mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
    -> "true"
mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;
-> NULL
Nach dem Login kopieren

Das Obige ist eine detaillierte Erklärung der Funktion ifnull(), die der Funktion nvl() in MySQL ähnelt. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). )!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!