Nullwerte in MySQL auf Null setzen
In MySQL ist es nicht ungewöhnlich, in Datenbankfeldern auf Nullwerte zu stoßen. Diese Nullwerte können Berechnungen stören und die Anzeige sauberer und genauer Daten erschweren. Um dieses Problem zu beheben, bietet MySQL die Funktion IFNULL() an, mit der Sie einen alternativen Wert angeben können, um Nullwerte zu ersetzen.
Stellen Sie sich das folgende Szenario vor:
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;
Diese Abfrage ruft die Reihenfolge ab Informationen aus verschiedenen Tabellen. Einige Felder können jedoch Nullwerte enthalten. Um für diese Felder 0 statt Null zurückzugeben, können Sie IFNULL() wie folgt verwenden:
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;
In dieser modifizierten Abfrage wird IFNULL() auf alle Felder angewendet, die für Nullwerte anfällig sind. Es prüft, ob das Feld nicht null ist. Ist dies der Fall, wird der tatsächliche Wert zurückgegeben. Andernfalls wird 0 zurückgegeben.
Diese Technik stellt sicher, dass alle abgerufenen Felder Nicht-Null-Werte haben, wodurch die Daten konsistenter und einfacher zu bearbeiten sind.
Das obige ist der detaillierte Inhalt vonWie kann ich NULL-Werte in MySQL-Abfragen durch Nullen ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!