簡體   English   中英

MySQL將NULL替換為某些值

[英]MySQL replace NULL to some value

我有以下存儲過程

BEGIN
SELECT kids.*, SUM(point) as `point_sum`
FROM kids
    LEFT JOIN tasks
    ON kids.id = tasks.kid_id
WHERE kids.user_id = IN_user_id
GROUP BY kids.name;
END

此語句工作正常。

我的問題:新用戶的SUM(point)通常為NULL,因為尚無提交的值要累加。 我想要的是,如果SUM(point)NULL那么它應該返回類似0值,否則應該顯示總和。 我環顧四周,不知道如何解決,有什么好主意嗎?

您真正需要的只是IFNULL()

SELECT kids.*, IFNULL(SUM(point), 0) AS point_sum

它將NULL轉換為提供的值,在這種情況下為0

您可以使用coalesce功能:

SELECT kids.*, COALESCE(SUM(point), 0) as `point_sum`
FROM kids
    LEFT JOIN tasks
    ON kids.id = tasks.kid_id
WHERE kids.user_id = IN_user_id
GROUP BY kids.name;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM