相关推荐recommended
mysql实现if语句判断功能的六种使用形式
作者:mmseoamin日期:2024-02-22

文章目录

  • 前言
  • 一、ifnull函数
  • 二、nullif函数
  • 三、if函数
  • 四、if语句(多用于存储过程)
  • 五、if-else语句(多用于存储过程)
  • 六、if-elseif-else语句(多用于存储过程)
  • 总结

    前言

    在Mysql数据库中实现判断功能有很多方式,具体又分为函数和if语句形式,函数的好处是可以作为sql的一部分来运行,而if语句则需要在存储过程中使用。

    一、ifnull函数

    语法:

    IFNULL(expression, alt_value)
    

    解释:

    判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值

    参数说明:

    Expression:必须,要测试的值
    alt_value:必须,expression 表达式为 NULL 时返回的值。
    

    常用示例:

    expression_1参数为空,返回a

    SELECT IFNULL(NULL, 'a');
    

    expression_1参数不为空,返回1

    SELECT IFNULL(1, 'a');
    

    空字符串也表示有值,返回空字符串

    SELECT IFNULL('', 'a');
    

    0也表示有值,返回0

    SELECT IFNULL(0, 'a');
    

    二、nullif函数

    语法:

    NULLIF(expression1, expression2)
    

    解释:

    NULLIF()函数用于比较两个表达式。如果两个表达式相等,则NULLIF()函数将返回NULL,否则它将返回第一个表达式。

    常用示例:

    两个表达式相等,返回null

    SELECT NULLIF('abc', 'abc');
    

    两个表达式不等,返回第一个表达式abc

    SELECT NULLIF('abc', 'abcd');
    

    三、if函数

    语法:

    IF(expr1,expr2,expr3)
    

    解释:

    如果表达式expr1=true(expr1 <> 0 and expr1 <> NULL),返回expr2,否则返回expr3,IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

    常用示例:

    expr1参数为1,结果为真,返回正确

    select if(1,'正确','错误');
    

    四、if语句(多用于存储过程)

    语法:

    IF expression THEN 
    statements;
    END IF;
    

    解释:

    如果表达式求值为TRUE,则将执行语句,否则,控件将传递给后面的下一个语句。

    五、if-else语句(多用于存储过程)

    语法:

    IF expression THEN
     statements;
    ELSE
     else-statements;
    END IF;
    

    解释:

    如果表达式求值为TRUE,则将执行statements语句,否则,执行else-statements语句。

    六、if-elseif-else语句(多用于存储过程)

    语法:

    IF expression THEN
      statements;
    ELSEIF elseif-expression THEN
      elseif-statements;
    ...
    ELSE
      else-statements;
    END IF;
    

    解释:

    如果表达式(expression)求值为TRUE,则IF分支中的语句(statements)将执行;如果表达式求值为FALSE,则如果elseif_expression的计算结果为TRUE,MySQL将执行elseif-expression,否则执行ELSE分支中的else-statements语句。

    总结

    word文档下载地址:mysql实现if语句判断功能的六种使用形式