sql case语句
时间: 2023-07-03 14:27:35 浏览: 76
SQL中的CASE语句是一种条件表达式,允许在查询中根据条件执行不同的操作。它的基本语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE resultN
END
```
其中,expression是一个需要比较的表达式,value1、value2等是expression可能的取值,result1、result2等是对应取值时的结果。ELSE子句是可选的,当expression的值没有匹配到任何WHEN子句时,将返回ELSE子句中的结果。
例如,以下SQL查询将根据学生的成绩返回不同的等级:
```
SELECT name, grade,
CASE
WHEN grade >= 90 THEN 'A'
WHEN grade >= 80 THEN 'B'
WHEN grade >= 70 THEN 'C'
WHEN grade >= 60 THEN 'D'
ELSE 'F'
END AS level
FROM students;
```
相关问题
sqlcase条件语句
SQL中的CASE语句是一种条件语句,类似于高级编程语言中的switch语句。它允许我们根据条件的满足来执行不同的操作或返回不同的结果。
下面是一个示例,演示了如何使用CASE语句在SQL中进行条件判断:
```sql
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
FROM table_name;
```
在上面的示例中,`column_name`是要查询的列名,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是与条件匹配时返回的结果。
以下是一个具体的例子,展示了如何使用CASE语句在SQL中进行条件判断:
```sql
SELECT product_name,
CASE
WHEN price > 100 THEN 'Expensive'
WHEN price > 50 THEN 'Moderate'
ELSE 'Cheap'
END AS price_category
FROM products;
```
上述示例中,根据产品的价格,将其分为不同的价格类别,并将结果显示为`price_category`列。
sql case when 拼接sql语句
SQL的CASE WHEN语句可用于根据条件生成动态SQL语句。当我们需要根据不同的情况执行不同的SQL语句时,可以使用CASE WHEN来实现。
拼接SQL语句的一种常见场景是根据输入的条件动态生成查询语句。例如,假设我们有一个学生表,其中包含了学生的姓名、年龄和性别等字段。我们想要根据不同的条件查询不同的信息。
在这种情况下,我们可以使用CASE WHEN进行动态的SQL拼接。如下所示:
```
DECLARE @condition NVARCHAR(20) = 'age'
DECLARE @sql NVARCHAR(MAX) = 'SELECT '
SET @sql = @sql +
CASE
WHEN @condition = 'name' THEN 'name'
WHEN @condition = 'age' THEN 'age'
WHEN @condition = 'gender' THEN 'gender'
END
SET @sql = @sql + ' FROM students'
PRINT @sql
EXECUTE sp_executesql @sql
```
在上述示例中,我们使用变量`@condition`指定查询条件,然后根据条件使用CASE WHEN拼接查询语句的SELECT部分。在这种情况下,我们根据`@condition`的不同值,选择是否查询学生的姓名、年龄或性别字段。
通过这种方式,我们可以根据不同的情况动态拼接SQL语句,使查询更加灵活和适应不同的需求。使用CASE WHEN可以让我们根据条件来控制拼接的SQL语句,提高了查询语句的灵活性和可扩展性。
阅读全文