MySQL에서 필드가 null인 경우 0을 반환합니다.
MySQL에서 NULL인 경우 "total" 필드를 0으로 설정하는 방법이 있습니까?
제가 가지고 있는 것은 다음과 같습니다.
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()은 숫자 또는 문자열 값을 사용하는 컨텍스트에 따라 반환합니다.
사용할 수 있습니다.coalesce(column_name,0)
뿐만 아니라column_name
함수는 목록의 첫 번째 NULL 이외의 값을 반환합니다.
이와 같은 행 단위 함수는 일반적으로 확장성에 문제가 있습니다.데이터베이스의 사이즈가 적당하다고 생각되는 경우는, 대부분의 경우, 여분의 열과 트리거를 사용해 코스트를 삭감하는 것이 좋습니다.select
에게insert/update
.
이것은 데이터베이스를 쓰는 빈도보다 읽는 빈도(대부분 읽는다)가 높다고 가정하여 비용을 상각합니다.
위의 답변 중 어느 것도 나에게 완벽하지 않았다.필드가 지정된 경우field
그래서 셀렉터는 다음 셀렉터여야 합니다.
IFNULL(`field`,0) AS field
예를 들어 SELECT 쿼리의 경우:
SELECT IFNULL(`field`,0) AS field, `otherfield` FROM `mytable`
이것이 누군가가 시간을 낭비하지 않도록 도울 수 있기를 바랍니다.
이런 걸 시도해 보세요.
IFNULL(NULLIF(X, '' ), 0)
Atribut X가 빈 String일 경우 빈 것으로 간주되므로 그 이후에는 마지막 값이 아닌 0으로 선언할 수 있습니다.다른 경우에는 원래 가치를 유지할 것이다.
어쨌든, 다른 방법을 알려드리자면요.
예 IFNULL 함수는 원하는 결과를 얻기 위해 작동합니다.
SELECT uo.order_id, uo.order_total, uo.order_status,
(SELECT IFNULL(SUM(uop.price * uop.qty),0)
FROM uc_order_products uop
WHERE uo.order_id = uop.order_id
) AS products_subtotal,
(SELECT IFNULL(SUM(upr.amount),0)
FROM uc_payment_receipts upr
WHERE uo.order_id = upr.order_id
) AS payment_received,
(SELECT IFNULL(SUM(uoli.amount),0)
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;
언급URL : https://stackoverflow.com/questions/3997327/return-0-if-field-is-null-in-mysql
'it-source' 카테고리의 다른 글
Vuejs가 mixin에서 속성을 읽지 않음 및 내보내기 NOT FOUND 오류입니다. (0) | 2022.11.19 |
---|---|
이름이 없는 Java 메서드 호출 (0) | 2022.11.19 |
mariadb 노드 사용여러 쿼리를 사용하는 JS 커넥터 (0) | 2022.11.01 |
MariaDB/SQL 레코드 수를 가져오는 가장 효율적인 방법 (0) | 2022.11.01 |
PHP로 JSON 데이터를 생성하는 방법은 무엇입니까? (0) | 2022.11.01 |