达梦不能判断case when
时间: 2023-11-06 07:07:55 浏览: 212
达梦是一种数据库管理系统,它可以支持CASE WHEN语句进行条件判断和结果返回。在引用中提到的报错信息中,是因为语法分析出错导致执行失败。具体的错误信息是在第6行第19列附近出现的错误。根据提供的信息,无法确定具体的错误原因,可能是由于语法错误或者其他问题导致的。为了解决这个问题,可以尝试以下折中解决方案:在CASE WHEN语句中使用简单的条件判断,确保语法正确性。
相关问题
达梦数据库 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。更新的条件是员工所在城市是上海。
达梦数据库中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)。
阅读全文