casewhen多条件一个结果,case when then 多个值
mysql中case when 多个字段同时满足条件判断?
case when c = 1 then “单一”
when c = 0 and int(a)+int(b)=1 then “邀请”end
casewhenthenelse多个条件
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
WHEN 条件3 THEN 结果3
WHEN 条件4 THEN 结果4
.........
WHEN 条件N THEN 结果N
ELSE 结果X
END 扩展资料 Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END
例如:
SELECT id, name, cj, (CASE WHEN cj 60 THEN '不及格' WHEN cj BETWEEN 60 AND 90 THEN '良好' WHEN cj 90 THEN '优秀' END) AS 状态
FROM stud
这两种方式,可以实现相同的功能。简单Case函数的`写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。
还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
--比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
WHEN col_1 IN ('a') THEN '第二类'
ELSE'其他' END
如何用case/when语句实现不同条件下更新同一张数据表的不同字段?
可使用case when来实现这个条件,需要嵌套子查询语句,sql语句代码示例如下:
1、首先你这里的不同字段应该有个优先级别,类似先判断哪个字段然后判断哪个字段。如果仅仅以字段和字段值来作为条件 用DECODE 套 DECODE 直到符合你的逻辑需求。
2、如果牵扯到两个字段值的比较。例如:如果字段A等于字段B则显示XXX 这种判断请使用NULLIF配合DECODE也可以用WHEN CASE ? (9以前可能不支持NULLIF)。
3、如果是模糊比较例如:字段A大于字段B,需要更多的函数来判断常用的有SIGN通过加减法之后的结果来判断两个字段大小。
举例如下:
1、数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5
2、要求是查询DemoTable中,condition1,condition2,condition3,condition4,condition5五个字段中符合任意两个或两个以上的条件的内容。
case when then else多个条件什么?
Case when语句能在SQL语句中织入判断逻辑,类似于Java中的if else语句。
CASE WHEN语句分为简单函数和条件表达式。
1、简单函数。
CASE 字段 WHEN 预期值 THEN 结果1 ELSE 结果2 END
如果字段值等于预期值,则返回结果1,否则返回结果2。
2、条件表达式。
SQL CASE 表达式是一种通用的条件表达式,类似于其它语言中的 if/else 语句。
CASE子句可以用于任何表达式可以有效存在的地方。 condition 是一个返回boolean 的表达式。 如果结果为真,那么 CASE 表达式的结果就是符合条件的 result。
如果结果为假,那么以相同方式搜寻任何随后的 WHEN 子句。 如果没有 WHEN condition 为真,那么 case 表达式的结果就是在 ELSE 子句里的值。 如果省略了 ELSE 子句而且没有匹配的条件, 结果为 NULL。
CASE 字段 WHEN 预期值 THEN 结果1 ELSE 结果2 END
如果字段值等于预期值,则返回结果1,否则返回结果2。
1、case 字段 when 值 then 返回值 when 值2 then 返回值2 end。
2、case when 条件1 then 返回值1 when 条件2 then 返回值2 end。
case when then else end在平时写程序时非常常用,主要用来判断字段多状态的情况。其具体语法与使用方法如下:
case
when condition1 then result1
when condistion2 then result2
when condistionN then resultN
else default_result
end
该语句表示当条件满足condition1时,返回result1,后面n个条件同理,当条件都不满足时,返回default_result并结束。
mysql case when 多个条件是什么?
CASE WHEN是列出几个并行的条件,几个情况都是并列的,优先级从前往后。
所以如果你的情况条件从小到大,那么遇到前边的,虽然可能符合多个条件,但是优先级是前边的优于后边的。所以遇到第一个符合的,就会取出这个条件需要的数据,而不会再往后判断。
case case_value
when when_value then statement_list
[when when_value then statement_list]…
[else statement_list]
end case
case_value:参数表示条件判断的变量;
when_value:参数表示变量的取值;
statement_list:参数表示不同when_value值的执行语句。
case语句的另一种形式。语法2:
case
when search_condition then statement_list
[when search_condition then statement_list]…
[else statement_list]
end case。
case when 用法
用法如下:
Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
Case when 相当于一个自定义的数据透视表,group by 是行名,case when 负责列名。
case有以下几种搭配:
1、in any case表示无论如何。
2、in no case表示绝不。
when有以下几种用法:
1、表示什么时候、何时。
2、可以引导从句。
3、俚语“入乡随俗”。
case用法
1、in any case
in any case表示的含义是“无论如何…”,在逻辑上引出一个结果。
例句:
In any case,GM has much bigger worries than s sales crown.
无论如何,通用汽车要担心的绝不仅仅是个销售王冠的丢失。
2、in no case
in no case表示的含义是“绝不…”。需要注意的是,当这一表达用于句首时,需要进行倒装处理。
例句:
In no case can we cheapen the quality of products.
在任何情况下我们都不能降低产品质量。
As our tradition,tribe chiefs are in no case allowed to leave the earth where they were born and raised up.
我们每一代首领,绝对不能离开他们出生的土地。
3.such being the case
such being the case表示“既然如此”,其作用是“强调之前的某个条件并得出结论”。
例句:
The roads are bad,and such being the case,we must drive slowly.
道路很糟,情况既然如此,我们只好把车开慢点儿。