即使 MySQL 查询没有结果,也会返回值?

mysqlmysqli database

即使没有结果,您也可以使用 MySQL 中的 IFNULL() 函数返回值。让我们创建一个表。使用查询来创建表。

mysql> create table IfNullDemo
   −> (
   −> Id int,
   −> Name varchar(100)
   −> );
Query OK, 0 rows affected (0.60 sec)

使用insert命令在表中插入一些记录,查询如下 −

mysql> insert into IfNullDemo values(1,'John');
Query OK, 1 row affected (0.18 sec)

mysql> insert into IfNullDemo values(200,'Sam');
Query OK, 1 row affected (0.21 sec)

mysql> insert into IfNullDemo values(204,'Carol');
Query OK, 1 row affected (0.14 sec)

mysql> insert into IfNullDemo values(510,'Johnson');
Query OK, 1 row affected (0.18 sec)

使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from IfNullDemo;

以下是输出 −

+------+---------+
| Id   | Name    |
+------+---------+
|   1 | John     |
| 200 | Sam      |
| 204 | Carol    |
| 510 | Johnson  |
+------+---------+
4 rows in set (0.00 sec)

首先让我们返回一个 TRUE 条件的值 −

查询如下 −

mysql> select ifnull((select Id from IfNullDemo where Id = 200),'No Result Found') As ResultFound;

以下是输出 −

+-------------+
| ResultFound |
+-------------+
| 200         |
+-------------+
1 row in set (0.00 sec)

现在,让我们使用 IFNULL 方法返回一个值,如果没有结果。查询如下 −

mysql> select ifnull((select Id from IfNullDemo where Id = 400),'No Result Found') As ResultFound;

以下是输出 −

+-----------------+
| ResultFound     |
+-----------------+
| No Result Found |
+-----------------+
1 row in set (0.00 sec)

相关文章