MySQL使用IF语句及用case语句对条件并结果进行判断

吾爱主题 阅读:170 2022-11-15 17:00:00 评论:0

一、前期准备

CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `jgid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (1, "二二", 2);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (2, "李四", 2);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (4, "七七", 3);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (5, "小猕猴", 1);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (6, "小米粥", 1);
INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (7, "小哈吧", 1);

二、IF语句

1、场景一

如果id是基数则是,否则则否

SELECT
	t1.*,
	IF(MOD(t1.id,2)=0 ,"是","否") AS 是否被二整除
FROM
	t1

2、场景二

如果id是偶数则判断id是否与jgid相等,如果Id是奇数则判断id是否与jgid不相等

SELECT
	t1.* 
FROM
	t1 
WHERE
IF( MOD ( t1.id, 2 )= 0, id = jgid, id <> jgid )

三、CASE语句

根据jgid赋予不同的角色

SELECT
	*,
 CASE
		WHEN jgid = 1 THEN
		"学生" 
		WHEN jgid = 2 THEN
		"教师" 
		WHEN jgid = 3 THEN
		"家长" ELSE "" 
	END AS "角色" 
FROM
	t1

到此这篇关于MySQL使用IF语句及用case语句对条件并结果进行判断 的文章就介绍到这了,更多相关MySQL IF语句 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/weixin_46146718/article/details/126951358

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容