Mise à zéro des valeurs nulles dans MySQL
Dans MySQL, il n'est pas rare de rencontrer des valeurs nulles dans les champs de la base de données. Ces valeurs nulles peuvent perturber les calculs et rendre difficile l’affichage de données claires et précises. Pour résoudre ce problème, MySQL propose la fonction IFNULL(), qui vous permet de spécifier une valeur alternative pour remplacer les valeurs nulles.
Considérez le scénario suivant :
SELECT uo.order_id, uo.order_total, uo.order_status, (SELECT SUM(uop.price * uop.qty) FROM uc_order_products uop WHERE uo.order_id = uop.order_id ) AS products_subtotal, (SELECT SUM(upr.amount) FROM uc_payment_receipts upr WHERE uo.order_id = upr.order_id ) AS payment_received, (SELECT SUM(uoli.amount) FROM uc_order_line_items uoli WHERE uo.order_id = uoli.order_id ) AS line_item_subtotal FROM uc_orders uo WHERE uo.order_status NOT IN ("future", "canceled") AND uo.uid = 4172;
Cette requête récupère l'ordre informations provenant de divers tableaux. Toutefois, certains champs peuvent contenir des valeurs nulles. Pour renvoyer 0 au lieu de null pour ces champs, vous pouvez utiliser IFNULL() comme suit :
SELECT uo.order_id, IFNULL(uo.order_total, 0), uo.order_status, IFNULL(products_subtotal, 0), IFNULL(payment_received, 0), IFNULL(line_item_subtotal, 0) FROM uc_orders uo WHERE uo.order_status NOT IN ("future", "canceled") AND uo.uid = 4172;
Dans cette requête modifiée, IFNULL() est appliqué à tous les champs sensibles aux valeurs nulles. Il vérifie si le champ n'est pas nul ; si c'est le cas, il renvoie la valeur réelle. Sinon, il renvoie 0.
Cette technique garantit que tous les champs récupérés auront des valeurs non nulles, rendant les données plus cohérentes et plus faciles à utiliser.
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!