MySQL流程处理函数
MySQL 流程处理函数整理
目录
MySQL 流程处理函数
IF
IFNULL
CASE WHEN THEN
CASE expr WHEN
总结
MySQL 流程处理函数
流程处理函数流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。
IF
IF(value,value1,value2),如果value的值为TRUE,则IF()函数返回value1,否则返回value2。
使用示例如下:
IFNULL
IFNULL(value1,value2),如果value1不为NULL,则IFNULL()函数返回value1,
否则返回value2。使用示例如下:
在数学运算中,0不能当做除数。在MySQL中,0当做除数时,结果返回NULL,所以IFNULL(10/0, ‘--’)返回 ‘--’。
CASE WHEN THEN
对于CASE WHEN value1 THEN result1 [WHEN value2 THEN result2...] ELSE default END,如果WHEN后面的某个value值为TRUE,则返回当前WHEN条件对应的THEN语句后面的结果值;如果所有WHEN后面的value值都为FALSE,则返回ELSE后面的结果值。
使用示例如下:
CASE expr WHEN
对于CASE expr WHEN value1 THEN result1 [WHEN value2 THEN result2…] ELSE default END,如果expr的值与某个WHEN后面的值相等,则返回对应THEN后面的结果;如果expr的值与所有WHEN后面的值都不相等,则返回ELSE后面的结果。
使用示例如下:
总结
MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数