case when not用法
时间: 2023-12-13 17:34:20 浏览: 60
当我们需要在满足某个条件时执行一个操作,否则执行另一个操作时,可以使用`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 '及格'`表示将结果标记为“及格”。
相关问题
ABAP case when的用法
ABAP中的CASE WHEN语句用于在条件满足时执行一系列操作。它的语法如下所示:
```abap
CASE WHEN <condition1> THEN
<statement1>.
WHEN <condition2> THEN
<statement2>.
...
WHEN <conditionN> THEN
<statementN>.
ELSE.
<statementDefault>.
ENDCASE.
```
其中,`<condition1>`, `<condition2>`, ..., `<conditionN>`是条件表达式,用于判断是否满足相应的条件。`<statement1>`, `<statement2>`, ..., `<statementN>`是在条件满足时要执行的语句。`<statementDefault>`是可选的,默认语句,当所有条件都不满足时执行。
以下是一个简单的例子,演示了CASE WHEN的用法:
```abap
DATA lv_value TYPE i.
lv_value = 3.
CASE WHEN lv_value = 1 THEN
WRITE 'Value is 1'.
WHEN lv_value = 2 THEN
WRITE 'Value is 2'.
WHEN lv_value = 3 THEN
WRITE 'Value is 3'.
ELSE.
WRITE 'Value is not 1, 2, or 3'.
ENDCASE.
```
在此例中,根据`lv_value`的值,将输出相应的消息。因为`lv_value`的值为3,所以将输出"Value is 3"。
希望这个例子对你有帮助!如果你还有其他问题,请随时提问。
update case when用法
UPDATE语句的CASE WHEN用法如下:
UPDATE 表名
SET 列名 =
CASE
WHEN 条件 THEN 新值
WHEN 条件 THEN 新值
...
ELSE 默认值
END
WHERE ...
例如,更新学生表中所有人的年龄加1:
UPDATE students
SET age = CASE WHEN age IS NOT NULL THEN age + 1 ELSE age END;
CASE WHEN 子句还可以用于更新多列。
例如,更新学生表中所有人的年龄和成绩:
UPDATE students
SET age = CASE WHEN age IS NOT NULL THEN age + 1 ELSE age END,
score = CASE WHEN score IS NOT NULL THEN score + 10 ELSE score END
WHERE id > 0;
注意:
- 不要忘记在UPDATE语句中使用WHERE子句,以限制要更新的行。
- 在上面的例子中,我们使用了ELSE子句来更新NULL值。
- 请确保在更新数据之前备份原始数据。
阅读全文