Requêtes conditionnelles MySQL : utilisation d'expressions CASE
Lorsque vous travaillez avec des requêtes SQL, il est souvent nécessaire de prendre des décisions conditionnelles basées sur certaines conditions. Dans MySQL, cela peut être réalisé à l'aide d'une expression CASE, qui fournit un moyen structuré d'évaluer les conditions et de renvoyer différentes valeurs en fonction du résultat.
Instruction IF ELSE dans MySQL
La question se pose de savoir comment implémenter une instruction IF ELSE dans une requête MySQL. Utiliser la fonction mysql_query() avec l'action IF dans l'instruction de requête n'est pas l'approche appropriée.
Expressions CASE
Au lieu de cela, MySQL utilise des expressions CASE pour gérer les instructions conditionnelles. Ils suivent une syntaxe spécifique :
CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END
Chaque clause WHEN représente une condition qui, si elle est vraie, renvoie la valeur correspondante. Si aucune des conditions n'est remplie, la clause ELSE fournit la valeur par défaut.
Exemple
Considérez l'exemple fourni dans la question :
SELECT col1, col2, ( CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END ) AS state FROM tbl1;
Dans cette requête, l'expression CASE est utilisée pour calculer une nouvelle colonne nommée state. Si les deux action sont égales à 2 et que l'état est égal à 0, le résultat est 1. Sinon, il renvoie 0.
Le résultat de cette requête est alors accessible en utilisant la syntaxe row['state'], comme suggéré dans la question. Cependant, il est important de noter que l'expression CASE attribue uniquement une valeur à la nouvelle colonne d'état dans le jeu de résultats. Il ne modifie pas directement la table de la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!