Maison > base de données > tutoriel mysql > le corps du texte

Une brève discussion sur l'explication détaillée de la fonction ifnull() similaire à la fonction nvl() dans Mysql

黄舟
Libérer: 2019-02-22 16:25:43
original
2176 Les gens l'ont consulté

L'éditeur suivant vous présentera une brève discussion de la fonction ifnull() similaire à la fonction nvl() dans Mysql. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil.

Tutoriels vidéo mysql associés recommandés : "tutoriel mysql"

IFNULL(expr1,expr2)

Si expr1 Non NULL, IFNULL() renvoie expr1, sinon elle renvoie expr2. IFNULL() renvoie une valeur numérique ou chaîne, selon le contexte dans lequel il est utilisé.

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)
Copier après la connexion

Si expr1 est VRAI (expr1<>0 et expr1<>NULL), alors IF() renvoie expr2, sinon il renvoie expr3. IF() renvoie une valeur numérique ou chaîne, selon le contexte dans lequel il est utilisé.

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;
Copier après la connexion

expr1 est évalué comme une valeur entière, ce qui signifie que si vous testez des valeurs à virgule flottante ou une chaîne, vous devez utiliser une opération de comparaison pour le faire.

mysql> select IF(0.1,1,0);
    -> 0
mysql> select IF(0.1<>0,1,0);
    -> 1
Copier après la connexion

Dans le premier cas ci-dessus, IF(0.1) renvoie 0 car 0.1 est transformé en valeur entière, provoquant le test de IF(0). Ce n'est peut-être pas ce à quoi vous vous attendez. Dans le second cas, la comparaison teste la valeur à virgule flottante d'origine pour voir si elle est différente de zéro, et le résultat de la comparaison est utilisé sous forme d'entier.

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
Copier après la connexion

La première version renvoie le résultat, où value=compare-value. Dans la deuxième version, si la première condition est vraie, le résultat est renvoyé. S'il n'y a pas de valeur de résultat correspondante, le résultat après ELSE est renvoyé. S'il n'y a pas de partie ELSE, alors NULL est renvoyé.

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
Copier après la connexion

Ce qui précède est une explication détaillée de la fonction ifnull() similaire à la fonction nvl() dans Mysql Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn). )!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal