本文主要是介绍【MySQL】IF、ISNULL、IFNULL、NULLIF 函数用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
IF
含义:函数用于判断第一个表达式是否为 true,如果为 true 返回第二个参数,否则返回第三个参数
SELECT IF(2=2, 'a', 'b') SELECT IF(1, 'a', 'b') SELECT IF(2, 'a', 'b') SELECT IF('2', 'a', 'b')
结果:a
SELECT IF(2!=2, 'a', 'b') SELECT IF(0, 'a', 'b') SELECT IF('', 'a', 'b') SELECT IF(null, 'a', 'b')
结果:b
结论:函数中第一个参数为 false,0,空字符串,null 都返回第三个参数,否则返回第二个参数
ISNULL
含义:判断是否为 null,如果为 null 则返回 1,否则返回 0
SELECT ISNULL(0) SELECT ISNULL('')
结果:0
SELECT ISNULL(null)
结果:1
结论:MySQL不会将 0 和 空字符串 判断为空,比较严谨,只会将真实的 null 判断为空
IFNULL
含义:函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,否则返回第一个参数的值
SELECT IFNULL('', '空的')
结果:空字符串,无显示
SELECT IFNULL(0, '空的')
结果:0
SELECT IFNULL(null, '空的')
结果:空的
结论:当第一个参数是 null 时,才会返回第二个参数,否则直接返回第一个参数
NULLIF
含义:如果第二个参数等于第一个参数则返回 null ,否则返回第一个参数
SELECT NULLIF('', '') SELECT NULLIF(null, null) SELECT NULLIF(1, 1)
结果:(Null)
SELECT NULLIF('', null)
结果:空字符串,无显示
SELECT NULLIF(1, 2)
结果:1
结论:当第一个参数和第二个参数相等时,才返回 null ,否则直接返回第一个参数
参考
MySQL 中 ISNULL, IFNULL, NULLIF 的区别
这篇关于【MySQL】IF、ISNULL、IFNULL、NULLIF 函数用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!