MySQL中when case用法
时间: 2023-10-07 19:14:53 浏览: 84
在MySQL中,CASE WHEN语句用于在查询中进行条件判断和结果返回。它的一般语法格式如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
在这个语法中,当满足condition1时,返回result1;当满足condition2时,返回result2;如果没有满足任何条件,则返回result。注意,一旦满足了某个条件,后续的条件将不再被考虑。
关于你提到的问题,你可以在SELECT语句中使用CASE WHEN来处理性别字段的显示。例如,假设性别字段为gender,值为0和1,你可以使用以下语句将其转换为汉字显示:
SELECT
CASE gender
WHEN 0 THEN '女'
WHEN 1 THEN '男'
END as gender_display
FROM table_name
这样,查询结果中的gender_display字段将显示为汉字。
注意,以上只是CASE WHEN语句的基本用法,你还可以在CASE WHEN语句中使用其他条件表达式和函数来处理更复杂的情况。
相关问题
mysql中when case
MySQL 中的 case when then 用法为:
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
...
ELSE 默认结果
END
例如,查询订单表中订单状态为已完成或已取消的订单数量:
SELECT COUNT(*)
FROM orders
WHERE status = CASE
WHEN status = 'completed' THEN 'completed'
WHEN status = 'cancelled' THEN 'cancelled'
END;
在这个例子中,CASE 语句比较 status 列的值,如果值为 'completed' 或 'cancelled',则返回相应的值。
mysql case when CASE WHEN
CASE WHEN语句用于计算条件列表并返回多个可能结果表达式之一。它有两种格式:简单CASE函数和搜索CASE函数。
简单CASE函数将某个表达式与一组简单表达式进行比较以确定结果。它的语法格式如下:
CASE input_expression
WHEN when_expression THEN result_expression
[ELSE else_result_expression]
END
搜索CASE函数计算一组布尔表达式以确定结果。它的语法格式如下:
CASE
WHEN [Boolean_expression] THEN [result1]
...
ELSE [default]
END
在使用简单CASE函数时,when_expression后面必须接case列的值,不能是表达式。而在使用搜索CASE函数时,可以使用任意的布尔表达式。
以下是一个示例,以人员表为例,展示了使用CASE WHEN语句的两种用法:
1. 使用简单CASE函数:
SELECT
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
2. 使用搜索CASE函数:
SELECT
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
在这个案例中,由于在第一个示例中使用了错误的语法,所以会导致结果不符合预期。正确的写法是在when后面直接写表达式,而不是case列的值。
阅读全文