如何使用空值和非空值对COALESCE进行排序?

该COALESCE()查找首先找到NON-NULL值。如果在开始时找到相同的值,则返回,否则继续检查NON-NULL值。

让我们首先创建一个表-

mysql> create table DemoTable
(
   Number1 int,
   Number2 int
);

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

mysql> insert into DemoTable values(100,200);
mysql> insert into DemoTable values(NULL,50);
mysql> insert into DemoTable values(10,NULL);
mysql> insert into DemoTable values(NULL,NULL);

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

mysql> select *from DemoTable;

这将产生以下输出-

+---------+---------+
| Number1 | Number2 |
+---------+---------+
|     100 | 200     |
|    NULL | 50      |
|      10 | NULL    |
|    NULL | NULL    |
+---------+---------+
4 rows in set (0.00 sec)

以下是使用COALESCE订购记录的查询-

mysql> select coalesce(Number1,Number2) AS NON_NULL_ARGUMENT_FIRST from DemoTable;

这将产生以下输出-

+-------------------------+
| NON_NULL_ARGUMENT_FIRST |
+-------------------------+
| 100                     |
| 50                      |
| 10                      |
| NULL                    |
+-------------------------+
4 rows in set (0.00 sec)