ホームページ >データベース >mysql チュートリアル >MySQL クエリで NULL 値をゼロに置き換えるにはどうすればよいですか?
MySQL での Null 値のゼロ化
MySQL では、データベース フィールドで null 値が発生することは珍しくありません。これらの null 値により計算が中断され、クリーンで正確なデータを表示することが困難になる可能性があります。この問題に対処するために、MySQL は IFNULL() 関数を提供します。この関数を使用すると、NULL 値を置き換える代替値を指定できます。
次のシナリオを考えてみましょう:
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;
このクエリは順序を取得します。さまざまなテーブルからの情報。ただし、一部のフィールドには null 値が含まれる場合があります。これらのフィールドに対して null の代わりに 0 を返すには、次のように IFNULL() を使用します。
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;
この変更されたクエリでは、IFNULL() が null 値の影響を受けるすべてのフィールドに適用されます。フィールドが null でないかどうかをチェックします。そうであれば、実際の値を返します。それ以外の場合は、0 を返します。
この手法により、取得されたすべてのフィールドが null 以外の値を持つことが保証され、データの一貫性が高まり、操作が容易になります。
以上がMySQL クエリで NULL 値をゼロに置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。