本文共 2212 字,大约阅读时间需要 7 分钟。
IF(expr, v1, v2) 函数用于根据表达式 expr 的值返回相应的结果。如果 expr 的值为非 null 且不为 0,函数返回 v1;否则返回 v2。
mysql> SELECT IF(1 > 2, 2, 3), IF(1 < 2, 'yes', 'no');+----------------+-----------------------+| IF(1 > 2, 2, 3) | IF(1 < 2, 'yes', 'no') |+----------------+-----------------------+| 3 | yes |+----------------+-----------------------+1 row in set (0.00 sec)
IFNULL(v1, v2) 函数用于判断 v1 是否为 null。如果 v1 不为 null,则返回 v1;否则返回 v2。
mysql> SELECT IFNULL(1, 2), IFNULL(null, 'yunweijia'), IFNULL(1/0, 'heihei');+--------------+---------------------------+-----------------------+| IFNULL(1, 2) | IFNULL(null, 'yunweijia') | IFNULL(1/0, 'heihei') |+--------------+---------------------------+-----------------------+| 1 | yunweijia | heihei |+--------------+---------------------------+-----------------------+1 row in set (0.00 sec)
CASE 函数用于根据 expr 的值选择对应的结果。语法格式为:case expr when value then result [when another_value then another_result] ... else default_result end
如果 expr 的值等于某个 value,则返回对应的 result;如果与所有值都不相等,则返回 default_result。
mysql> SELECT CASE 2 WHEN 1 THEN 'one' WHEN '2' THEN 'two' ELSE 'more' END;+--------------------------------------------------------------+| CASE 2 WHEN 1 THEN 'one' WHEN '2' THEN 'two' ELSE 'more' END |+--------------------------------------------------------------+| two |+--------------------------------------------------------------+1 row in set (0.00 sec)
mysql> SELECT CASE 5 WHEN 1 THEN 'one' WHEN '2' THEN 'two' ELSE 'more' END;+--------------------------------------------------------------+| CASE 5 WHEN 1 THEN 'one' WHEN '2' THEN 'two' ELSE 'more' END |+--------------------------------------------------------------+| more |+--------------------------------------------------------------+1 row in set (0.00 sec)
以上内容可根据实际需求进行扩展和优化。如需了解更多技术内容,请关注 "运维家" 微信公众号,获取最新文章。
转载地址:http://wlbfk.baihongyu.com/