MySQL - NULLIF()语句

MySQL - NULLIF()语句 首页 / MySQL入门教程 / MySQL - NULLIF()语句

NULLIF函数是MySQL控制函数的一部分,用于两个表达式中的比较,它还有助于防止SQL语句中的零除错误。

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

无涯教程可以通过以下语法使用NULLIF函数:

NULLIF (Expression1, Expression2)

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

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-nullif.html

来源:LearnFk无涯教程网

参数RequirementDescriptions
Expression 1Required它指定要比较的第一个表达式。
Expression 2Required它指定第二个表达式进行比较。

MySQL版本支持

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()函数。可以将NULLIF函数直接与 SELECT 语句一起使用。

SELECT NULLIF("learnfk", "learnfk");

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

NULL

例子2

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

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

无涯教程网

Hello

例子3

SELECT NULLIF(9,5);

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

9

例子4

在此示例中,无涯教程将了解NULLIF()函数如何防止被零除错误。如果运行查询" SELECT 1/0",则会得到一个错误输出。因此,在这种情况下,将使用如下语法的NULLIF函数。

SELECT 1/NULLIF(0,0);

输出:

NULL

例子5

让无涯教程创建一个 customer 表以执行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函数对照 Btech 检查qualification列值。这意味着如果客户职业是Btech,则返回NULL。否则,它返回列值。

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

上面的命令成功执行后,将返回以下输出。

MySQL NULLIF

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

Java并发编程实战 -〔王宝令〕

职场求生攻略 -〔臧萌〕

Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕

人人都用得上的数字化思维课 -〔付晓岩〕

现代C++20实战高手课 -〔卢誉声〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

云时代的JVM原理与实战 -〔康杨〕

手把手带你写一个 MiniTomcat -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)