mysql中写判断语句的方法:

方法一.CASE函数

case函数语法:

CASE conditionWHEN value1 THEN returnvalue1WHEN value2 THEN returnvalue2WHEN value3 THEN returnvalue3……ELSE defaultvalueEND
SELECT username,(CASE sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END) as sex FROM user;

e08a6ceb7c5f565e980547c90d0981c.png

方法二.IF()函数

CASE函数可以实现非常复杂的逻辑判断,实现满足条件就A,否则就B这样简单的判断逻辑的话,CASE函数就显得臃肿。MYSQL提供了IF()函数用于简化这种逻辑判断,其语法格式如下:IF(condition,A,B)

如果condition条件为真,就返回A,否则返回B。所以如果有多个条件,就无法使用IF函数。IF()返回一个数字或字符串。

select username,if(sex=1,'男','女') as sex from user;

57558ec379007199e539b0a2a063727.png

可以看到,username为zhangsan的显示性别为女,因为我们条件是sex=1为男,其它都会女。所以IF函数用于只有两种情况的判断。mysql还有一个IFNULL(value1,value2)函数,这个函数一般用来替换NULL值的,我们知道NULL值是不能参与数值运算的。

方法三.字符串操作ELT()

语法:

ELT(N,str1,str2,str3,...)

如果 N = 1,返回 str1,如果N = 2,返回 str2,等等。如果 N 小于 1 或大于参数的数量,返回 NULL。

SELECT username,ELT(sex,'男','女','未知') as sex FROM user

2cb2e8899c8d85f8f8c7feeb24b90ae.png

内容扩展:

mysql条件判断语句

业务场景中,比如一个用户有几种状态(1:有效、2:无效、3:其他),这时候查询就需要用到条件语句。

语法:

CASE 字段 WHEN `条件1` THEN `结果1` WHEN `条件2` THEN `结果2` WHEN ... ELSE `其他结果`END
SELECT id,name,(CASE statusWHEN 1 THEN '有效' WHEN 2 THEN '无效' ELSE '其他' END) AS status FROM user

更多相关文章

  1. ES6 变量声明,箭头函数,数组方法,解构赋值,JSON,类与继承,模块化练习
  2. 浅谈Java中Collections.sort对List排序的两种方法
  3. Python list sort方法的具体使用
  4. python list.sort()根据多个关键字排序的方法实现
  5. android上一些方法的区别和用法的注意事项
  6. android实现字体闪烁动画的方法
  7. Android中dispatchDraw分析
  8. Android四大基本组件介绍与生命周期
  9. Android(安卓)MediaPlayer 常用方法介绍

随机推荐

  1. Android开发:ZXing条码扫描-竖屏解决方案
  2. Android 基础知识、Android 进阶知识、An
  3. 在android用Google Geocoding API服务解
  4. Ubuntu下安装Android(安卓)NDK
  5. Cocos2d-x3.1下 Android,APK自动升级
  6. Android应用程序的四个关键点
  7. Android—— 4.2 Vold挂载管理_mmcblk内
  8. android 关机 流程分析
  9. android makefile(android.mk)分析(转)
  10. Android(安卓)Camera 流程学习记录(一)——