MySQL NULLIF()函数
本节帮助您了解 MySQL NULLIF() 函数。NULLIF 函数是 MySQL 控制流函数的一部分,用于在两个表达式中进行比较。它还有助于防止在 SQL 语句中除以零错误。
NULLIF 函数接受两个表达式,如果第一个表达式等于第二个表达式,则返回NULL。否则,它返回第一个表达式。
一、MySQL NULLIF()函数 的语法
NULLIF (Expression1, Expression2)
参数说明:
范围 | 要求 | 说明 |
---|---|---|
expression 1 | 必须的 | 它指定第一个比较表达式。 |
expression 2 | 必须的 | 它指定用于比较的第二个表达式。 |
二、MySQL NULLIF()函数 版本支持
IFNULL 函数可以支持以下 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
让我们了解MySQLNULLIF() 函数与以下示例。我们可以直接在SELECT语句中使用 NULLIF 函数。
三、MySQL NULLIF()函数 示例1
SELECT NULLIF("javaTpoint", "javaTpoint");
在上述函数中,MySQL 语句检查第一个表达式是否等于第二个表达式。如果两个表达式相同,则返回 NULL。否则,它将返回第一个表达式。
输出结果为:
NULL
四、MySQL NULLIF()函数 示例2
SELECT NULLIF("Hello", "404");
下面的 MySQL 语句比较了这两个表达式。如果Expression1 = Expression2,则返回 NULL。否则,它将返回Expression1。
输出结果为:
Hello
五、MySQL NULLIF()函数 示例3
SELECT NULLIF(9,5);
以下 MySQL 语句比较两个整数值。如果它们相等,则返回 NULL。否则,它返回第一个表达式。
输出结果为:
9
六、MySQL NULLIF()函数 示例4
在此示例中,我们将了解 NULLIF() 函数如何防止除以零错误。如果我们运行查询“SELECT 1/0”,则会得到错误输出。因此,在这种情况下,我们将使用 NULLIF 函数,语法如下。
SELECT 1/NULLIF(0,0);
输出结果为:
NULL
七、MySQL NULLIF()函数 示例5
让我们创建一个客户表来执行 NULLIF 函数。以下语句在您的数据库中创建一个customer表。
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');
将值插入表后,执行以下SQL。
SELECT * FROM customer;
它将给出下表:
现在,我们将使用 NULLIF 函数对照Btech检查限定列值。这意味着如果客户职业是 Btech,则返回 NULL。否则,它返回列值。
SELECT cust_name, occupation, qualification,
NULLIF (qualification,"Btech") result
FROM myproductdb.customer;
当上述命令执行成功时,它会返回以下输出。
热门文章
优秀文章