我是靠谱客的博主 腼腆衬衫,最近开发中收集的这篇文章主要介绍MySQL 函数简介——条件判断函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

条件判断函数也称为控制流程函数,根据满足的不同条件,执行相应的流程。MySQL 中进行 条件判断的函数有 IF、IFNULL 和 CASE。下面将分别介绍各个函数的用法。

  1. IF(expr,v1,v2)函数 IF(expr, v1, v2):如果表达式 expr 是 TRUE(expr <> 0 and expr <> NULL),则返回值为 v1;否 则返回值为 v2。IF()的返回值为数字值或字符串值,具体情况视其所在语境而定。 使用 IF()函数进行条件判断,输入语句如下:

 SELECT IF(1>2,2,3),IF(1<2,'yes ','no'),IF(STRCMP('test','test1'),'no','yes');

1>2 的结果为 FALSE,IF(1>2,2,3)返回第 2 个表达式的值;1<2,'yes ','no')返回第一个表达式的值;“test”小于“test1”,结果为 true,IF(STRCMP('test','test1'),'no','yes')返回第一个表达式的值。

提 示 :如果 v1 或 v2 中只有一个明确是 NULL,则 IF()函数的结果类型为非 NULL 表达式的结 果类型。

  1. IFNULL(v1,v2)函数 IFNULL(v1,v2):假如v1不为NULL,则IFNULL()的返回值为v1;否则其返回值为v2。IFNULL() 的返回值是数字或者字符串,具体情况取决于其所在的语境。 使用 IFNULL()函数进行条件判断,输入语句如下:

 SELECT IFNULL(1,2), IFNULL(NULL,10), IFNULL(1/0, 'wrong');

IFNULL(1,2)虽然第二个值也不为空,但返回结果依然是第一个值;IFNULL(NULL,10)第一个 值为空,因此返回 10;“1/0”的结果为空,因此 IFNULL(1/0, 'wrong')返回字符串“wrong”。

  1. CASE 函数 CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2]…[ELSE rn+1] END:如果 expr 值等于某 个 vn,则返回对应位置 THEN 后面的结果;如果与所有值都不相等,则返回 ELSE 后面的 rn+1。 使用 CASE value WHEN 语句执行分支操作,输入语句如下:

 SELECT CASE 2 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;

CASE 后面的值为 2,与第二条分支语句 WHEN 后面的值相等,因此返回结果为“two”。

CASE WHEN v1 THEN r1 [WHEN v2 THEN r2]… ELSE rn+1] END:某个 vn 值为 TRUE 时, 返回对应位置 THEN 后面的结果;如果所有值都不为 TRUE,则返回 ELSE 后的 rn+1。 使用 CASE WHEN 语句执行分支操作,输入语句如下:

SELECT CASE WHEN 1<0 THEN 'true' ELSE 'false' END;

1<0 的结果为 FALSE,因此函数返回值为 ELSE 后面的“false”。

提 示 :一个 CASE 表达式的默认返回值类型是任何返回值的相容集合类型,但具体情况视其所 在语境而定。如果用在字符串语境中,则返回结果为字符串。如果用在数字语境中,则 返回结果为十进制值、实数值或整数值。

最后

以上就是腼腆衬衫为你收集整理的MySQL 函数简介——条件判断函数的全部内容,希望文章能够帮你解决MySQL 函数简介——条件判断函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部