CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。
CASE 搜索函数计算一组布尔表达式以确定结果。
两种格式都支持可选的 ELSE 参数。
语法如下:
1)简单 CASE 函数:
CASE input_expression
WHEN when_expression THEN
result_expression [...n ] [
else_result_expression
参数介绍:
input_expression
是使用简单 CASE 格式时所计算的表达式。Input_expression 是任何有效的 Microsoft SQL Server 表达式。
WHEN when_expression
使用简单 CASE 格式时 input_expression 所比较的简单表达式。When_expression 是任意有效的 SQL Server 表达式。Input_expression 和每个 when_expression 的数据类型必须相同,或者是隐性转换。
,表明可以使用多个 WHEN when_expression THEN result_expression 子句或 WHEN Boolean_expression THEN result_expression 子句。
THEN result_expression
当 input_expression = when_expression 取值为 TRUE,或者 Boolean_expression 取值 TRUE 时返回的表达式。
result expression 是任意有效的 SQL Server 表达式。
ELSE else_result_expression
当比较运算取值不为 TRUE 时返回的表达式。如果省略此参数并且比较运算取值不为 TRUE,CASE 将返回 NULL 值。else_result_expression 是任意有效的 SQL Server 表达式。else_result_expression 和所有 result_expression 的数据类型必须相同,或者必须是隐性转换。
返回第一个取值为 TRUE 的 (input_expression = when_expression) 的 result_expression。如果没有取值为 TRUE 的 input_expression = when_expression,则当指定 ELSE 子句时 SQL Server 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。
2)CASE 搜索函数:
WHEN Boolean_expression THEN
result_expression [...n ] [
else_result_expression
参数介绍:
WHEN Boolean_expression 使用 CASE 搜索格式时所计算的布尔表达式。Boolean_expression 是任意有效的布尔表达式。结果类型从 result_expressions 和可选 else_result_expression 的类型集合中返回最高的优先规则类型。有关更多信息,请参见数据类型的优先顺序。
按指定顺序为每个 WHEN 子句的 Boolean_expression 求值。返回第一个取值为 TRUE 的 Boolean_expression 的 result_expression。
如果没有取值为 TRUE 的 Boolean_expression,则当指定 ELSE 子句时 SQL Server 将返回 else_result_expression;若没有指定 ELSE 子句,则返回 NULL 值。
(2) MySQL case when例子介绍
1、 使用带有简单 CASE 函数的 SELECT 语句
在 SELECT 语句中,简单 CASE 函数仅检查是否相等,而不进行其它比较。
SELECT
CASE parent_id
WHEN 0 THEN
WHEN 1 THEN
'OTHERS'
END AS parent_id_new ,
parent_id ,
type_id ,
type_name
tdb_goods_types
介绍mysql数据库中case when语句的用法,首先介绍case when语句的基础知识,然后提供了相关例子。(1)mysql数据库中CASE WHEN语句。case when语句,用于计算条件列表并返回多个可能结果表达式之一。CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。CASE 搜索函数计算一组布尔表达式以确定结果。两种格式都支持...
举例如下: 数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5 要求是查询DemoTable中,condition1,condition2,condition3,condition4,condition5五个字段中符合任意两个或两个以上的条件的内容。 可使用case when来实现这个条件,需要嵌套子查询语句 sql语句代码示例如下: 代码如下: SELECT * FROM DemoTable WHERE ((SELECT CASE 1 WHEN condition1满足条件 THEN 1 E
MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式。 MySQL 中的 CASE 是一种控制语句,它验证条件案例集,并在第一个案例满足 else 值时显示值并退出循环。
如果没有找到 TRUE 且语句没有 ELSE 部分或值,则 CASE 返回 NULL。基本上,CASE 语句类似于 IF THEN ELSE 逻辑循环语句。在 MySQL 服务器上运行时,它会读取条件表达式,当表达式大小写匹配时,nit 会显示结果。
开发中经常用到,但是老是忘记,简单记一下
CASE语句为多分支语句结构,该语句首先从WHEN后的VALUE中查找与CASE后的VALUE相等的值,如果查找到,则执行该分支的内容,否则执行ELSE后面的内容。
mysql case when 有两种用法
1、简单函数
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END
枚举这个字段所有可能的值。
2、搜索函数
CASE WHEN [expr] THEN [result1]…ELSE [
最近,在学习Hive基础知识时,遇到了遇到了Case When Else End语法,以前学习MySQL时忽略了这部分知识点,现总结一下相关的知识给大家。首先练习一个例子如下:一、学生课程成绩统计1)建表use hiveDemo;
CREATE TABLE `course` (
`id` int,
`sid` int ,
`course` string,
`score`...
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END
CASE WHEN [expr] THEN [result1]…ELSE [default] END
这两种语法有什么区别呢?
CASE [col_name] WHEN [value1] THEN [resul...
case执行方式:逐一判断每个 WHEN 子句直到返回真值为止。此外,没有能够返回真值的WHEN 子句时,也会返回 ELSE 子句指定的表达式。
用法一:在返回映射时使用(固定字段展示内容)
select
case '数据库字段'
when '条件1' then '满足条件的结果1'
when '条件2' then '满足条件的结果2'
else '所有条件之外的结果n'
end as '字段名称'