首页 / MYSQL / mysql中的几种判断语句
mysql中的几种判断语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql中的几种判断语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2126字,纯文字阅读大概需要4分钟。
内容图文
![mysql中的几种判断语句](/upload/InfoBanner/zyjiaocheng/521/7f50b42e05434c799705ab2ceef8bc6c.jpg)
在使用mysql过程中,经常会有根据某个字段的不同值显示语义化的名称的需求,例如一张用户表,有个sex字段存放的是用户性别,一般不会直接存男,女,未知这种字符串,而是存的0,1,2这种整型,整型的好处是查询效率高于字符串,查询出结果要显示成男,女这种,通常做法是查询出结果,在结果里if判断再赋值成字符串。其实mysql提供了类似判断的语法可以直接查出语义化的结果。
创建测试数据
创建一张用户表user,有username(用户名),sex(性别 3-未知 1-男 2-女)两个字段。
CREATE TABLE IF NOT EXISTS `user`(
`id` INT UNSIGNED AUTO_INCREMENT,
`username` VARCHAR(100) NOT NULL,
`sex` INT UNSIGNED,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入测试数据:
insert into user (username,sex) values('lilei',1);
insert into user (username,sex) values('hanmeimei',2);
insert into user (username,sex) values('zhansan',3);
测试数据:
方法一.CASE函数
case函数语法:
CASE condition
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
……
ELSE defaultvalue
END
举例:
SELECT username,(CASE sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END) as sex FROM user;
查询结果如图:
方法二.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;
查询结果如图:
可以看到,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
查询结果如图:
mysql中的几种判断语句
标签:img 不能 运算 参与 结果 creat 操作 zha prim
本文系统来源:https://www.cnblogs.com/yqzc/p/12491790.html
内容总结
以上是互联网集市为您收集整理的mysql中的几种判断语句全部内容,希望文章能够帮你解决mysql中的几种判断语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。