ホームページ >データベース >mysql チュートリアル >MySQL クエリで NULL フィールドをゼロに置き換えるにはどうすればよいですか?
MySQL で Null フィールドをゼロに設定する
MySQL では、Null 値の処理が困難になることがよくあります。データをクエリする場合、null フィールドの代わりに null 以外の値を返すと便利な場合があります。これは、null 値が計算を歪めたり、結果の読みやすさに影響を与えたりする可能性がある場合に特に当てはまります。
null フィールドをゼロに設定するには、IFNULL() 関数を使用できます。 IFNULL() は、評価される式と、式が null の場合に返す値の 2 つの引数を取ります。例:
IFNULL(expr1, 0)
expr1 が null でない場合、IFNULL() は expr1 を返します。それ以外の場合は、0 を返します。これにより、null 値をゼロなどの指定した値に簡単に置き換えることができます。
提供されたクエリでは、IFNULL() を使用して products_subtotal、payment_received の null 値を処理できます。 、および line_item_subtotal フィールド。変更されたクエリは次のとおりです。
SELECT uo.order_id, uo.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;
IFNULL() を組み込むことにより、クエリは指定されたフィールドの null 値に対して 0 を返すようになり、結果の一貫性が確保され、解釈が容易になります。
以上がMySQL クエリで NULL フィールドをゼロに置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。