您当前的位置: 站长圈 > 技术文章 > 数据库技术 > MySQL函数——条件判断函数

MySQL函数——条件判断函数

来源:站长圈 作者:adminzzq 点击: 0
1、IF(expr,v1,v2)函数
IF(expr,v1,v2)如果表达式expr是TRUE(expr<>0 and expr<>NULL),则IF()的返回值为v1,否则返回值为v2。IF()的返回值为数字值或字符串值,具体情况视其所在语境而定。
例:使用IF()函数进行条件判断,输入SQL语句如下:
\
执行后得:
\
提示:如果v1或v2中只有一个明确是NULL,则IF()函数的结果类型为非NULL表达式的结果类型。
2、IFNULL(v1,v2)函数
IFNULL(v1,v2)假如v1不为NULL,则IFNULL()的返回值为v1,否则其返回值为v2。IFNULL()的返回值是数字或是字符串,具体情况视其所在语境而定。
例:使用IFNULL()函数进行条件判断,输入SQL语句如下:
\
执行后得:
\
3、CASE函数
CASE expr WHEN v1 THEN r1[WHEN v2 THEN r2][ELSE m]END
该函数表示如果expr值等于某个vn,则返回对应位置THEN后面的结果。如果与所有值都不相等,则返回ELSE后面的m。
例:使用CASE value WHEN语句执行分支操作,输入SQL语句如下:
\
执行后得:
\
CASE WHEN v1 THEN r1[WHEN v2 THEN r2][ELSE m]END
该函数表示某个vn值为true时,返回对应位置THEN后面的结果,如果所有值都不为TRUE,则返回ELSE后面的m。
例:使用CASE WHEN语句执行分支操作,输入SQL语句如下:
\
执行后得:
\
提示:一个CASE表达式的默认返回值类型是任何返回值的相容集合类型但具体情况视其所在语境而定,如果用在字符串语境中,则返回结果为字符串,如果用在数字语境中,则返回结果为十进制值,实数值或整数值。