1. ホーム
  2. sql

[解決済み】MySQLでフィールドがNULLの場合、0を返す。

2022-04-13 08:21:10

質問

MySQLで、"total"フィールドが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フィールドは 0 .

MySQL で NULL に対して 0 を返すにはどうすればよいですか?

どのように解決するのですか?

使用方法 IFNULL :

IFNULL(expr1, 0)

ドキュメントより

expr1 が NULL でない場合、IFNULL() は expr1 を返し、そうでない場合は expr2 を返します。IFNULL() は、使用される状況に応じて数値または文字列を返します。