MySQL NULLIF()函数

MySQL NULLIF()函数

此部分帮助您了解MySQL的NULLIF()函数。NULLIF函数是MySQL控制流函数的一部分,用于比较两个表达式。它还可以帮助防止SQL语句中的除零错误。

NULLIF函数接受两个表达式,如果第一个表达式等于第二个表达式,则返回NULL。否则,返回第一个表达式。

语法

我们可以使用以下语法来使用NULLIF函数:

NULLIF (Expression1, Expression2)

当expression1等于expression2时,它返回Null。否则,它将返回expression1。

参数

参数 要求 描述
表达式 1 必要的 它指定了用于比较的第一个表达式。
表达式 2 必要的 它指定了用于比较的第二个表达式。

MySQL版本支持

The NULLIF函数支持以下MySQL版本:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

让我们通过以下示例来了解MySQL的NULLIF()函数。我们可以直接在 SELECT 语句中使用NULLIF函数。

示例1

SELECT NULLIF("javaTpoint", "javaTpoint");

在上述函数中,MySQL语句检查第一个表达式是否等于第二个表达式。如果两个表达式相同,则返回NULL。否则,返回第一个表达式。

输出:

NULL

示例 2

SELECT NULLIF("Hello", "404");

以下MySQL语句比较两个表达式。如果expression1 = expression2,则返回NULL。否则,将返回expression1。

输出结果:

Hello

示例3

SELECT NULLIF(9,5);

下面的MySQL语句比较两个整数值。如果它们相等,则返回NULL。否则,返回第一个表达式。

输出:

9

示例4

在这个例子中,我们将了解NULLIF()函数如何防止除0错误。如果我们运行查询”SELECT 1/0″,那么我们会得到一个错误输出。因此,在这种情况下,我们将使用下面的NULLIF函数语法。

SELECT 1/NULLIF(0,0);

输出:

NULL

示例5

让我们创建一个用于执行NULLIF函数的客户表。以下语句在您的数据库中创建一个客户表。

CREATE TABLE 'customer' (
  'customer_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
  'cust_name' VARCHAR(45) NOT NULL,
  'occupation' VARCHAR(45) NOT NULL,
  'income' VARCHAR(15) NOT NULL,
  'qualification' VARCHAR(45) NOT NULL
);

现在,您需要将数据插入表中。要将值插入表中,请运行以下命令。

 INSERT INTO 'myproductdb'.'customer' ('cust_name', 'occupation', 'income', 'qualification') VALUES ('John Miller', 'Developer', '20000', 'Btech');
INSERT INTO 'myproductdb'.'customer' ('cust_name', 'occupation', 'income', 'qualification') VALUES ('Mark Robert', 'Enginneer', '40000', 'Btech');
INSERT INTO 'myproductdb'.'customer' ('cust_name', 'occupation', 'income', 'qualification') VALUES ('Reyan Watson', 'Scientists', '60000', 'MSc');
INSERT INTO 'myproductdb'.'customer' ('cust_name', 'occupation', 'income', 'qualification') VALUES ('Shane Trump', 'Businessman', '10000', 'MBA');
INSERT INTO 'myproductdb'.'customer' ('cust_name', 'occupation', 'income', 'qualification') VALUES ('Adam Obama', 'Manager', '80000', 'MBA');
INSERT INTO 'myproductdb'.'customer' ('cust_name', 'occupation', 'income', 'qualification') VALUES ('Rincky Ponting', 'Cricketer', '200000', 'Btech');

在将值插入表格后,执行以下查询。

 SELECT * FROM customer;

它将生成以下表格:

MySQL NULLIF()函数

现在,我们将使用NULLIF函数来检查 qualification 列的值与 Btech 是否匹配。意思是如果客户的职业是Btech,它将返回NULL。否则,它将返回列的值。

 SELECT cust_name, occupation, qualification, 
NULLIF (qualification,"Btech") result 
FROM myproductdb.customer;

输出:

当上述命令成功执行时,它会返回以下的输出。

MySQL NULLIF()函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程