SQL查询中做判断,select case

本文介绍了一个使用 SQL 的 CASE WHEN 语句来转换 TICKET_TYPE 字段值的具体例子。通过该示例,读者可以了解到如何根据不同条件将数字类型的 TICKET_TYPE 转换为字符串描述。

select case when TICKET_TYPE=1 then '是'

                  when TICKET_TYPE=2 then '不是'

                  when TICKET_TYPE=3 then '错误'

                  end as typestr

 from client_exchange_ticket

`SELECT CASE`是在SQL中用于进行条件判断和赋值的语句。其基本使用方法如下: ```sql SELECT column1, column2, CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resultN ELSE result END AS new_column FROM table_name; ``` 解释如下: - `SELECT`:表示要选取的字段或表达式。 - `column1, column2`:表示要选取的原始字段。 - `CASE`:表示开始一个`CASE`语句块。 - `WHEN condition1 THEN result1`:表示当`condition1`条件满足时,将`new_column`列赋值为`result1`。 - `WHEN condition2 THEN result2`:表示当`condition2`条件满足时,将`new_column`列赋值为`result2`。 - `ELSE result`:表示当上述所有条件都不满足时,默认将`new_column`列赋值为`result`。 - `END AS new_column`:表示结束`CASE`语句块,并将赋值后的结果命名为`new_column`。 - `FROM table_name`:表示从指定的表中进行查询操作。 [^3] 示例: ```sql SELECT name, score, CASE WHEN score >= 90 THEN '优秀' WHEN score >= 80 THEN '良好' WHEN score >= 70 THEN '及格' ELSE '不及格' END AS grade FROM students; ``` 此示例将生成三列:学生的姓名`name`、分数`score`以及根据分数计算出的等级`grade` [^3]。 注意事项: - `WHEN`子句的条件可以是基于列的比较、函数操作、常量等,需要根据具体需求来编写条件判断和赋值逻辑。 - `CASE`语句不仅可以用于`SELECT`查询,也能在`UPDATE`、`INSERT`、`WHERE`等其他SQL语句中使用,还可以与聚合函数结合,在`GROUP BY`或`HAVING`子句中进行更复杂的条件计算。此外,`CASE`语句可用于`WHERE`和`ORDER BY`子句,并且能够嵌套使用 [^1][^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值