12
votes

Comment retourner une valeur booléenne d'une fonction de MySQL?

J'ai colonne A et colonne B dans le tableau EMP . Je voudrais récupérer des valeurs de ces colonnes et trouver la différence entre eux avec une fonction. La fonction reviendrait true pour une différence de 0 retourner autrement false . Je ne sais pas comment retourner une valeur.

Aussi, comment puis-je stocker les valeurs extraites dans une variable?


0 commentaires

3 Réponses :


21
votes

MySQL n'a pas vraiment de booléens. true code> et false code> sont des alias à 1 et 0, et le type de colonne code> bool code> est juste un alias pour Tinyint (1) code>. Toutes les expressions qui semblent donner des résultats booléens renvoient réellement 0 ou 1.

Vous pouvez écrire votre requête comme suit: P>

SELECT (a = b) AS a_equals_b
FROM emp
WHERE ...


0 commentaires

-2
votes

0 commentaires

14
votes
select a, b, if(a-b=0, true, false) as diff from emp;

1 commentaires

+1 pour donner un moyen de former le résultat, je ne savais pas que "si" instruction pour MySQL