本文主要是介绍Mysql中isnull,ifnull,nullif的用法及语义详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《Mysql中isnull,ifnull,nullif的用法及语义详解》MySQL中ISNULL判断表达式是否为NULL,IFNULL替换NULL值为指定值,NULLIF在表达式相等时返回NULL,用...
Mysql中isnull,ifnull,nullif的用法
在 MySQL 中,ISNULL、IFNULL 和 NULLIF 都与空值(NULL)的判断或处理有关,但它们的用途和语义不同
1. ISNULL(expr) → 判断是否为 NULL
功能:返回 1(http://www.chinasem.cn真)如果表达式为 NULL,否则返回 0(假)
示例:
SELECT ISNULL(NULL); -- 结果:1 SELECT ISNULL(123); -- 结果:0 SELECT ISNULL(name) FROM users;
2. IFNULL(expr1, expr2) → NULL 值替换
功能:如果 expr1 是 NULL,返回 expr2;否则返回 expr1。
常用于:空值替换为默认值
示例:
SELECT IFNULL(NULL, 'default'); -- 结果:'default' SELECT IFNULL('hello', 'default'); -- 结果:'hello' -- 示例:替换用户昵称为空时的默认名称 SELECT IFNULL(nickname, '匿名') AS display_name FROM users;
等价于:
CASE WHEN nickname IS NULL THEN '匿名' ELSE nickname END
3. NULLIF(expr1, expr2) → 相等则返回 NULL
功能:如果 expr1 = expr2,返回 NULL;否则返回 expr1
常用于:避免除零错误,或“两个值相同视为无效”的判断
示例:
SELECT NULLIF(5, 5); -- 结果:NULL SELECT NULLIF(5, 3); -- 结果:5 -- 示例:除法避免除以 0 SELECT 10 / NULLIF(denominator, 0) FROM nChina编程umbers;
总结
函数名 | 主要用途 | 示例 | 结果 |
---|---|---|---|
ISNULL(x) | 判断是否为 NULL | ISNULL(NULL) | 1 |
IFNULL(x, y) | 如果 x 是 NULL,返回 y | IFNULL(NandroidULL, 'N/A') | ‘N/A’ |
NULLIF(x, y) | 如果 x = y,返回 NULL | NULLIF(5, 5) | NULL |
补充:MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用
在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。
1、IF()函数的使用
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。
SELECT IF(TRUE,'A','B'); -- 输出结果:A SELECT IF(FALSE,'A','B'); -- 输出结果:B
2、IFNULL()函数的使用
IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。
SELECT IFNULL(NULL,'B'); -- 输出结果:B SELECT IFNULL('HELLO','B'); -- 输出结果:HELLO
3、NULLIF()函数的使用
NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为null,否则返回值为expr1的值。
SELECT NULLIF(China编程'A','A'); -- 输出结果:null SELECT NULLIF('A','B'); -- 输出结果:A
4、ISNULL()函数的使用
ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。
SELECT ISNULL(NULL); -- 输出结果:1 SELECT ISNULL('HELLO'); -- 输出结果:0
到此这篇关于Mysql中isnull,ifnull,nullif的用法的文章就介绍到这了,更多相关mysql isnull,ifnull,nullif用法内容请搜索编程China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!
这篇关于Mysql中isnull,ifnull,nullif的用法及语义详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!