sql CASE WHEN
时间: 2023-10-14 09:08:00 浏览: 108
当你在 SQL 查询中使用 CASE WHEN 语句时,可以根据条件返回不同的结果。它的语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
下面是一个示例,使用 CASE WHEN 根据销售量不同返回不同的级别:
```sql
SELECT product_name,
sales,
CASE
WHEN sales > 1000 THEN 'High'
WHEN sales > 500 THEN 'Medium'
ELSE 'Low'
END AS sales_level
FROM products;
```
这将返回一个销售级别字段,根据不同的销售量给出适当的级别。
相关问题
sql case when
In SQL, the `CASE WHEN` statement is used to perform conditional logic. It is used to evaluate a set of conditions and return a value based on the result of the evaluation.
The basic syntax for the `CASE WHEN` statement is as follows:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE default_result
END
```
Here's a breakdown of what each part of the syntax does:
- `CASE` begins the `CASE WHEN` statement.
- `WHEN` specifies the condition to be evaluated.
- `THEN` specifies the value to be returned if the condition is true.
- `ELSE` specifies the value to be returned if none of the conditions are true.
- `END` ends the `CASE WHEN` statement.
Here's an example that uses `CASE WHEN` to classify products in a table based on their prices:
```
SELECT product_name,
price,
CASE
WHEN price < 10 THEN 'Cheap'
WHEN price >= 10 AND price < 50 THEN 'Moderate'
WHEN price >= 50 THEN 'Expensive'
ELSE 'Unknown'
END AS price_category
FROM products;
```
In this example, the `CASE WHEN` statement evaluates the `price` column for each row in the `products` table. If the price is less than 10, it is classified as "Cheap". If the price is between 10 and 50, it is classified as "Moderate". If the price is 50 or greater, it is classified as "Expensive". If the price is not provided, it is classified as "Unknown".
SQL case when
SQL中的CASE WHEN语句用于根据一定的条件执行不同的逻辑。它类似于其他编程语言中的条件语句(如if-else或switch-case)。
CASE WHEN语句的基本语法如下所示:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在这个语法中,您可以指定多个条件和相应的结果。如果条件与表达式匹配,则返回相应的结果。如果没有条件匹配,则返回ELSE子句中指定的结果。ELSE子句是可选的,如果没有匹配的条件,它将返回NULL。
以下是一个示例,说明了如何使用CASE WHEN语句:
```sql
SELECT id, name,
CASE
WHEN age < 18 THEN 'Minor'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS category
FROM customers;
```
在上面的示例中,根据客户的年龄将其划分为三个不同的类别:未成年人、成年人和老年人。结果将作为新的“category”列返回。
请注意,CASE WHEN语句还可以与其他SQL语句(如SELECT、UPDATE或INSERT)一起使用,以便根据特定条件执行不同的操作。
阅读全文
相关推荐














