这是数据库:输入图片描述
我需要显示员工的姓和名,然后是工资+佣金如果佣金不为空,否则只显示工资。
我正在尝试运行以下查询:
SELECT LASTNAME, FIRSTNAME, SALARY, COMMISSION
2 CASE COMMISSION WHEN IS NOT NULL THEN SALARY+COMMISSION
3 ELSE SALARY
4 END AS TOTAL_SALARY FROM EMPLOYEE;
它总是显示以下错误:输入图片描述
有谁能帮我解决这个问题吗?
感谢一个简单的选择是使用NVL
:
SELECT LASTNAME, FIRSTNAME, SALARY, COMMISSION,
salary + nvl(commission, 0) as total_salary
FROM EMPLOYEE;
或coalesce
:
salary + coalesce(commission, 0)
或case
(但这次有效):
salary + case when commission is null then 0
else commission
end