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)
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,'yes','no'); -> 'yes' mysql> select IF(strcmp('test','test1'),'yes','no'); -> 'no'
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
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
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
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). )!