MySQL COALESCE如何处理NULL和非NULL值的结果排序?

MySQL COALESCE如何处理NULL和非NULL值的结果排序?

COALESCE()函数优先找到非NULL值。如果开始就找到非NULL值,则返回该值,否则继续查找非NULL值。

首先创建一个表 –

mysql> create table DemoTable
(
   Number1 int,
   Number2 int
);
Query OK, 0 rows affected (5.48 sec)

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

mysql> insert into DemoTable values(100,200);
Query OK, 1 row affected (0.40 sec)
mysql> insert into DemoTable values(NULL,50);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(10,NULL);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(NULL,NULL);
Query OK, 1 row affected (0.08 sec)

使用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)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程