>데이터 베이스 >MySQL 튜토리얼 >MySQL 쿼리에서 NULL 필드를 0으로 바꾸는 방법은 무엇입니까?

MySQL 쿼리에서 NULL 필드를 0으로 바꾸는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-05 13:09:40449검색

How to Replace NULL Fields with Zeros in a MySQL Query?

MySQL에서 Null 필드를 0으로 설정

이 MySQL 쿼리는 uc_orders(uo) 테이블을 포함한 다양한 테이블에서 데이터를 검색하는 것을 목표로 합니다. 그러나 결과에는 0으로 반환되기를 원하는 null 필드가 포함되어 있습니다.

이를 달성하려면 하위 쿼리 내에서 IFNULL 함수를 사용할 수 있습니다.

SELECT uo.order_id,
       IFNULL(uo.order_total, 0) AS 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)이 대신 반환됩니다. 이렇게 하면 쿼리가 null 필드에 대해 항상 0을 반환하게 됩니다.

위 내용은 MySQL 쿼리에서 NULL 필드를 0으로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.