一般来说,在写sql语言的时候,我们需要多用用函数,前人验证了千百遍的函数绝壁比自己随便拼凑的sql语句高效!(你不相信吗!请写出一条宇宙第四定律先!天才的你一定不需要前人了!)
首先是case函数!
这个case函数跟java里面的switch 超像
接下来让我们看下我的例子吧
SELECT CASE 3 when 1 THEN '男' WHEN 2 THEN '女' ELSE 'xiaobai' END as result;
case 后面那个是选择 假如是1的话,select出来的就是男,2的话就是女,如果不是1和2的话那就是else 就跟java里面的那个switch里面的default一样的,最后都不是就输出xiaobai,as result 为输出的取一个别名 result,
然后是 if 函数,这个if 函数跟java里面的三目运算类似,
SELECT IF(case1 ,case2,case3);
如果case1为true,则返回case2,否则返回case3
同样看下例子:
SELECT IF(1>2 ,'yes','no');
假如1>2 为true,返回 ‘yes’ (里面可以是其他函数,获取其他对象), 假如 1>2 为 false 则返回 ‘no’(当然同样在这个地方可以用其他object取代‘no’)
接下来看看 nullif 函数
select nullif(case1,case2);
如果case1 == case2 则返回null 否则返回 case 1
最后我们来看下 ifnull 函数
SELECT IFNULL(NULL,null);
只要两者都是null才返回null
否则则返回有值的那一方,若两者都有值,则返回前者
比如
SELECT IFNULL(1,null);
则结果为1,