达梦数据库支持case when then吗
时间: 2023-07-25 18:19:50 浏览: 309
是的,达梦数据库支持case when then语句。case when then语句是一种条件语句,用于根据不同的条件返回不同的结果。例如,下面是一个使用case when then语句的示例:
```
SELECT column1, column2,
CASE WHEN column3 > 0 THEN 'Positive'
WHEN column3 < 0 THEN 'Negative'
ELSE 'Zero'
END
FROM table_name;
```
该语句将根据column3列中的值返回不同的结果,如果值大于0,则返回'Positive',如果值小于0,则返回'Negative',否则返回'Zero'。您可以根据需要编写类似的语句来满足自己的需求。
相关问题
达梦数据库中case when
在达梦数据库中,CASE WHEN语句用于在查询时进行条件判断和结果返回。它的语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
在上面的语法中,可以根据不同的条件进行多个判断,并返回相应的结果。如果没有满足任何条件的情况,可以使用ELSE关键字指定一个默认结果。
以下是一个示例,展示了如何在达梦数据库中使用CASE WHEN语句:
```sql
SELECT
student_name,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS result
FROM
students;
```
上述示例中,根据学生成绩(score)的不同,使用CASE WHEN语句判断并返回相应的等级(result)。
达梦数据库 update 嵌套case when
达梦数据库的 UPDATE 语句支持嵌套 CASE WHEN 条件语句,可以根据不同的条件更新不同的值。语法如下:
```
UPDATE 表名
SET 列名 = CASE
WHEN 条件1 THEN
CASE
WHEN 条件1.1 THEN 值1.1
WHEN 条件1.2 THEN 值1.2
ELSE 值1.3
END
WHEN 条件2 THEN
CASE
WHEN 条件2.1 THEN 值2.1
WHEN 条件2.2 THEN 值2.2
ELSE 值2.3
END
ELSE 值3
END
WHERE 条件;
```
其中,条件1、条件2等是逻辑表达式,值1.1、值1.2等是要更新的值。
示例:
```
UPDATE employee
SET salary = CASE
WHEN department = 'Sales' THEN
CASE
WHEN age < 30 THEN 3000
WHEN age >= 30 AND age < 40 THEN 4000
ELSE 5000
END
WHEN department = 'Marketing' THEN
CASE
WHEN age < 30 THEN 3500
WHEN age >= 30 AND age < 40 THEN 4500
ELSE 5500
END
ELSE 2500
END
WHERE city = 'Shanghai';
```
以上示例中,根据员工所在的部门和年龄段,更新员工的薪资。如果部门是销售部,根据年龄分别更新为3000、4000、5000;如果部门是市场部,根据年龄分别更新为3500、4500、5500;如果部门不是销售部或市场部,则更新为2500。更新的条件是员工所在城市是上海。
阅读全文