SUM0
更新时间:2025-10-16
描述
用于返回选中字段所有值的和。与 SUM 函数不同的是,当输入值全为 NULL 时,SUM0 返回 0 而不是 NULL。
语法
SQL
1SUM0(<expr>)
参数
| 参数 | 说明 |
|---|---|
<expr> |
要计算和的字段 |
返回值
返回选中字段所有值的和。如果所有值都为 NULL,则返回 0。
举例
SQL
1-- 创建示例表
2CREATE TABLE sales_table (
3 product_id INT,
4 price DECIMAL(10,2),
5 quantity INT,
6 discount DECIMAL(10,2)
7) DISTRIBUTED BY HASH(product_id)
8PROPERTIES (
9 "replication_num" = "1"
10);
11
12-- 插入测试数据
13INSERT INTO sales_table VALUES
14(1, 99.99, 2, NULL),
15(2, 159.99, 1, NULL),
16(3, 49.99, 5, NULL),
17(4, 299.99, 1, NULL),
18(5, 79.99, 3, NULL);
19
20-- 对比 SUM 和 SUM0 的区别
21SELECT
22 SUM(discount) as sum_discount, -- 返回 NULL
23 SUM0(discount) as sum0_discount -- 返回 0
24FROM sales_table;
Text
1+--------------+---------------+
2| sum_discount | sum0_discount |
3+--------------+---------------+
4| NULL | 0.00 |
5+--------------+---------------+
