gpt4 book ai didi

javascript - SQLite - SUM 返回 null 而不是 0(零)值

转载 作者:行者123 更新时间:2023-12-05 04:16:31 24 4
gpt4 key购买 nike

我有这个 SQL 查询:

var sqlQuery =
"SELECT '"+dateRanges[ic].DATE_FROM+"' as DATE_FROM, "+
" '"+dateRanges[ic].DATE_TO+"' as DATE_TO, "+
" COUNT(*) AS DIALS_CNT, "+
" SUM(CASE WHEN dc.call_result = '"+CALL_RESULT_STATE_APPT+"' THEN 1 ELSE 0 END) AS '"+APPT_CNT+"', "+
" SUM(CASE WHEN dc.call_result = '"+CALL_RESULT_STATE_CONV_NO_APPT+"' THEN 1 ELSE 0 END) AS '"+CONVERS_CNT+"' , "+
" SUM(CASE WHEN dc.call_result = '"+CALL_RESULT_STATE_CANNOT_REACH+"' THEN 1 ELSE 0 END) AS '"+CANNOT_REACH_CNT+"' "+
" FROM "+DIALED_CALLS_TABLE+" dc "+
" WHERE dc.date BETWEEN '"+dateRanges[ic].DATE_FROM+"' AND '"+dateRanges[ic].DATE_TO+"';";

问题是,如果值的总和为零,则结果包含值 null。我认为我可以使用 THEN 1 ELSE 0 END 解决它,但它不起作用。

请问我该如何解决才能得到零而不是 null 的结果?

感谢您的帮助。

最佳答案

当 SUM 没有获得任何值开始时,即当您的 WHERE 子句不匹配任何行时,它返回 NULL。

如果您可以接受结果是 float ,请将 SUM 替换为 TOTAL .否则,您可以在整个总和周围放置一个 IFNULL:

SELECT ... IFNULL(SUM(CASE ... END), 0) FROM ...

关于javascript - SQLite - SUM 返回 null 而不是 0(零)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27233799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com