Maison >base de données >tutoriel mysql >Comment remplacer les champs NULL par des zéros dans une requête MySQL ?

Comment remplacer les champs NULL par des zéros dans une requête MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 13:09:40490parcourir

How to Replace NULL Fields with Zeros in a MySQL Query?

Définir les champs nuls à zéro dans MySQL

Cette requête MySQL vise à récupérer les données de diverses tables, y compris la table uc_orders (uo). Cependant, les résultats contiennent des champs nuls, qui doivent être renvoyés à zéro.

Pour y parvenir, la fonction IFNULL peut être utilisée dans les sous-requêtes :

SELECT uo.order_id,
       IFNULL(uo.order_total, 0) AS order_total,
       uo.order_status,
       IFNULL((SELECT SUM(uop.price * uop.qty)
                 FROM uc_order_products uop
                 WHERE uo.order_id = uop.order_id), 0) AS products_subtotal,
       IFNULL((SELECT SUM(upr.amount)
                 FROM uc_payment_receipts upr
                 WHERE uo.order_id = upr.order_id), 0) AS payment_received,
       IFNULL((SELECT SUM(uoli.amount)
                 FROM uc_order_line_items uoli
                 WHERE uo.order_id = uoli.order_id), 0) AS line_item_subtotal
FROM uc_orders uo
WHERE uo.order_status NOT IN ("future", "canceled")
AND uo.uid = 4172;

La fonction IFNULL vérifie essentiellement si l’expression évaluée est nulle. Si tel est le cas, la valeur de repli spécifiée (0 dans ce cas) est renvoyée à la place. Cela garantit que la requête renverra toujours zéro pour les champs nuls.

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:
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