在 MySQL 中使用 NULL 行乘以列?


要与 NULL 行相乘,可以使用 COALESCE()。让我们首先创建一个表 −

mysql> create table DemoTable1842
     (
     NumberOfItems int,
     Amount int
     );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1842 values(10,40);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1842 values(20,5);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1842 values(NULL,10);
Query OK, 1 row affected (0.00 sec)

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable1842;

这将产生以下输出 −

+---------------+--------+
| NumberOfItems | Amount |
+---------------+--------+
|            10 |     40 |
|            20 |      5 |
|          NULL |     10 |
+---------------+--------+
3 rows in set (0.00 sec)

以下是要将列与 NULL 行相乘的查询 −

mysql> select NumberOfItems,Amount,
     coalesce(NumberOfItems,1)*Amount as Total
     from DemoTable1842;

这将产生以下输出 −

+---------------+--------+-------+
| NumberOfItems | Amount | Total |
+---------------+--------+-------+
|            10 |     40 |   400 |
|            20 |      5 |   100 |
|          NULL |     10 |    10 |
+---------------+--------+-------+
3 rows in set (0.00 sec)

更新于:2019-12-26

402 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告