sql中not case 用法
时间: 2024-03-15 21:34:51 浏览: 10
在 SQL 中,NOT CASE 用于在满足特定条件时返回布尔值的情况下执行反转操作。它通常与 CASE 语句一起使用。
例如,考虑以下 SQL 语句,其中 NOT CASE 用于返回一个布尔值:
```
SELECT
CASE
WHEN age >= 18 THEN '成年人'
ELSE '未成年人'
END AS adult_status,
NOT CASE
WHEN age >= 18 THEN true
ELSE false
END AS is_minor
FROM
persons;
```
在上面的例子中,如果一个人的年龄大于或等于18岁,则该人被视为“成年人”。NOT CASE 语句用于对该条件执行反转操作,并将返回一个布尔值,即“is_minor”列。在这种情况下,如果该人是未成年人,该列将返回 true,否则将返回 false。
相关问题
case when not用法
当我们需要在满足某个条件时执行一个操作,否则执行另一个操作时,可以使用`CASE WHEN NOT`语句。下面是一个示例:
假设我们有一个学生表,其中包含学生的姓名和成绩。我们想要查询所有成绩不及格的学生的姓名和成绩,并将成绩小于60的学生标记为“不及格”,成绩大于等于60的学生标记为“及格”。我们可以使用以下查询:
```sql
SELECT name,
CASE WHEN NOT score >= 60 THEN '不及格' ELSE '及格' END AS result
FROM student;
```
上述查询中,`CASE WHEN NOT score >= 60`表示当成绩小于60时执行操作,`THEN '不及格'`表示将结果标记为“不及格”,`ELSE '及格'`表示将结果标记为“及格”。
oracle中case
在Oracle中,CASE语句用于根据不同的条件返回不同的结果。它的基本语法是:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
在这个语法中,可以根据需要添加任意多个WHEN条件。每个条件后面跟着一个THEN关键字和一个结果。如果所有条件都不满足,ELSE关键字后面的结果将被返回。
CASE语句可以在SELECT语句中使用,作为一个表达式的一部分。你可以使用它来进行计算、取别名、嵌套等操作。以下是一个例子:
SELECT cust_last_name,
CASE credit_limit
WHEN 100 THEN 'low'
WHEN 5000 THEN 'high'
ELSE 'medium'
END
FROM customers;
在这个例子中,根据credit_limit的值,CASE语句将返回不同的结果。如果credit_limit等于100,结果将为'low';如果等于5000,结果将为'high';否则,结果将为'medium'。
请注意,当使用CASE语句时,如果没有一个条件匹配,它将返回NULL作为默认值,除非在语句的末尾定义了ELSE子句。在Oracle PL/SQL中,如果没有提供ELSE子句,CASE语句将抛出一个CASE_NOT_FOUND异常。
这就是在Oracle中使用CASE语句的基本概念和用法。通过灵活运用CASE语句,你可以根据不同的条件返回不同的结果,从而满足各种复杂的查询需求。