iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql中case when then语句怎么用
  • 832
分享到

mysql中case when then语句怎么用

2024-04-02 19:04:59 832人浏览 独家记忆
摘要

小编给大家分享一下Mysql中case when then语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

小编给大家分享一下Mysql中case when then语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

建表:
create table hank (id int,name varchar(20));

插入数据:
insert into hank values(1,'A');
insert into hank values(2,'B');
insert into hank values(3,'C');

通过case when then更新数据:
update hank set name = case id 
when 1 then 'D'
when 2 then 'E'
when 3 then 'F'
end
where id in(1,2,3);

sql的意思是,更新name字段,如果id=1 则name的值为D,如果id=2 则 name 的值为E,如果id=3 则 name 的值为F。
即是将条件语句写在了一起。
这里的where部分不影响代码的执行,但是会提高sql执行的效率。确保sql语句仅执行需要修改的行数,这里只有3条数据进行更新,而where子句确保只有3行数据执行


表的创建
CREATE TABLE `lee` (
`id` int(10) NOT NULL AUTO_INCREMENT, 
`name` char(20) DEFAULT NULL, 
`birthday` datetime DEFAULT NULL, 
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

数据插入:
insert into lee(name,birthday) values ('sam','1990-01-01');
insert into lee(name,birthday) values ('lee','1980-01-01');
insert into lee(name,birthday) values ('john','1985-01-01');


第一种用法:
SELECT name,
CASE WHEN birthday < '1981' THEN 'old' 
WHEN birthday > '1988' THEN 'yong'
ELSE 'ok' END YORN
FROM lee

第二种用法:
SELECT NAME, CASE name
WHEN 'sam' THEN 'yong'
WHEN 'lee' THEN 'handsome'
ELSE 'Good' END as oldname
FROM lee

第三种:当然了,case when 语句还可以复合
select name, birthday,
case 
when birthday > '1983' then 'yong'
when name='lee' then 'handsome'
else 'just so so' end
from lee;


在这里用sql语句进行日期比较的话,需要对年加引号,要不然可能结果和预期的结果不同, 
当然也可以用year函数来实现
select name,
case when year(birthday) > 1988 then 'yong'
when year(birthday) < 1980 then 'old'
else 'ok' END
from lee;


==========================================================
create table penalties
(
paymentno INTEGER not NULL,
payment_date DATE not null,
amount DECIMAL(7,2) not null,
primary key(paymentno)
)


insert into penalties values(1,'2008-01-01',3.45);
insert into penalties values(2,'2009-01-01',50.45);
insert into penalties values(3,'2008-07-01',80.45);


第一题:对罚款登记分为三类,第一类low,包括大于0小于等于40的罚款,第二类moderate大于40到80之间的罚款,第三类high包含所有大于80的罚款


select payment_date, amount,
case 
when amount >= 0 AND amount < 40 then 'low'
when amount >=40 AND amount < 80 then 'moderate'
when amount >=80 then 'high' 
else 'null' END
FROM penalties

第二题:统计出属于low的罚款编号
select * from 
( select paymentno, amount,
case 
when amount >= 0 AND amount < 40 then 'low'
when amount >=40 AND amount < 80 then 'moderate'
when amount >=80 then 'high' 
else 'incorrect' end lvl
from penalties) as p
where p.lvl = 'low'

以上是“mysql中case when then语句怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中case when then语句怎么用

本文链接: https://www.lsjlt.com/news/62225.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中case when then语句怎么用
    小编给大家分享一下mysql中case when then语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-18
  • mysql中case when语句怎么用
    mysql中case when语句的用法:case when语句主要用来计算条件列表和返回一个以上可能的结果表达式 。具体用法示例:首先我们创建数据库表。CREATE TABLE `t_demo` ( ...
    99+
    2022-10-08
  • MySQL的CASE WHEN语句怎么使用
    CASE WHEN语句用于在MySQL查询中进行条件判断,根据条件的不同返回不同的结果。以下是CASE WHEN语句的基本语法:``...
    99+
    2023-08-18
    MySQL
  • oracle中的case when then怎么使用
    本篇内容主要讲解“oracle中的case when then怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle中的case when t...
    99+
    2023-07-05
  • sql语句中case when怎么用
    这篇文章给大家分享的是有关sql语句中case when怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql语句case when用法当我们需要从数据源上 直接判断数据显示...
    99+
    2022-10-18
  • mysql的case when语句如何使用
    本篇内容介绍了“mysql的case when语句如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1...
    99+
    2022-10-19
  • MySQL 的CASE WHEN 语句使用说明
    在MySQL中,CASE WHEN语句用于对一系列条件进行判断,并根据不同的条件返回不同的结果。语法如下:```CASEWHEN c...
    99+
    2023-08-17
    MySQL
  • php case when查询语句怎么用
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php case when查询语句怎么用?PHP Mysql 中的CASE WHEN 用法在SELECT语句查询中可以使用CASE WHEN对查询出来的结果,...
    99+
    2022-11-22
    php
  • case when语句报错怎么办
    这篇文章主要介绍case when语句报错怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql 判断操作一种语法:case ..when语句但最近在使用的时候遇到了一个问题...
    99+
    2022-10-18
  • 理解case when then else end 的使用,基础概念,建表语句,用例讲解
    文章目录 一、基础概念二、建表语句三、用例讲解参考文档 一、基础概念 case :表示需要处理的字段when :表示条件then :表示当when执行为true时,再执行的语句else :...
    99+
    2023-09-01
    数据库 java sql
  • MySQL中的if和case语句怎么用
    小编给大家分享一下MySQL中的if和case语句怎么用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式...
    99+
    2022-10-18
  • SQL中case when怎么用
    这篇文章将为大家详细讲解有关SQL中case when怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SQL中case when的用法Case具有两种格式:简单Cas...
    99+
    2022-10-18
  • VB.NET中CASE语句怎么用
    小编给大家分享一下VB.NET中CASE语句怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如果要将同一个表达式与不同的值进行比较,则可以用 Select...Case 语句来替换 If...Then...Else 语...
    99+
    2023-06-17
  • SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
    SQL Server判断语句(IF ELSE/CASE WHEN ) 执行顺序是 – 从上至下 – 从左至右 --,所当上一个条件满足时(无论下面条件是否满足),执行上个条件,当第一...
    99+
    2022-11-12
  • Shell case语句怎么用
    这篇文章主要讲解了“Shell case语句怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell case语句怎么用”吧!shell脚本中case选择语句可以结合read指令实现比...
    99+
    2023-06-27
  • mysql中case when的作用是什么
    mysql中case when的作用是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql case when的用...
    99+
    2022-10-18
  • 怎么在mysql存储过程中使用case语句
    今天就跟大家聊聊有关怎么在mysql存储过程中使用case语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。除了if语句,mysql提供了一个替代的...
    99+
    2022-10-18
  • oracle中的case when怎么使用
    在Oracle中,CASE WHEN语句用于根据指定的条件执行不同的操作。它的基本语法如下:CASEWHEN condition1 ...
    99+
    2023-08-23
    oracle
  • proc sql语句中的case怎么用
    这篇文章给大家分享的是有关proc sql语句中的case怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。proc sql;    s...
    99+
    2022-10-19
  • C语言case语句怎么使用
    C语言的switch语句中,case语句用于匹配不同的值,执行相应的代码块。以下是case语句的使用方法:1. switch语句必须...
    99+
    2023-05-30
    case语句 case
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作