Maison > base de données > tutoriel mysql > Comment puis-je utiliser la fonction IF() de MySQL pour ajuster conditionnellement les valeurs des colonnes dans une instruction SELECT ?

Comment puis-je utiliser la fonction IF() de MySQL pour ajuster conditionnellement les valeurs des colonnes dans une instruction SELECT ?

Barbara Streisand
Libérer: 2025-01-20 21:51:11
original
224 Les gens l'ont consulté

How Can I Use MySQL's IF() Function to Conditionally Adjust Column Values in a SELECT Statement?

Ajustement conditionnel de la valeur de la colonne avec la fonction IF() de MySQL dans les instructions SELECT

L'instruction SELECT de MySQL récupère les données. Parfois, vous devez modifier conditionnellement la sortie d’une colonne en fonction d’autres colonnes de la même ligne. La fonction IF() facilite cela.

Scénario :

Disons que nous avons une table report et que nous devons manipuler le signe de la colonne amount en fonction de la colonne type. Si type est « P », amount devrait être positif ; si 'N', cela devrait être négatif.

Requête initiale :

SELECT id, amount FROM report;
Copier après la connexion

Modification conditionnelle :

Voici comment utiliser IF() pour obtenir l'ajustement conditionnel souhaité :

SELECT id, 
       IF(type = 'P', amount, amount * -1) AS amount
FROM report;
Copier après la connexion

Explication :

La fonction IF() prend trois paramètres :

  • condition : La condition à évaluer (type = 'P').
  • true_value : La valeur renvoyée si la condition est vraie (amount).
  • false_value : La valeur renvoyée si la condition est fausse (amount * -1).

AS amount attribue au résultat de la fonction IF() l'alias amount pour la sortie.

Gestion des valeurs NULL :

Si amount pourrait être NULL, utilisez IFNULL() pour une manipulation robuste :

SELECT id, 
       IF(type = 'P', IFNULL(amount, 0), IFNULL(amount, 0) * -1) AS amount
FROM report;
Copier après la connexion

IFNULL() prend deux arguments :

  • value : La valeur à vérifier NULL (amount).
  • default_value : La valeur à renvoyer si value est NULL (0).

Lectures complémentaires :

Pour en savoir plus sur les fonctions de contrôle de flux MySQL, consultez la documentation officielle : https://www.php.cn/link/0cfe3c931a81acba365b335768dd0d93

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal