Oracle 中的 NVL 函数
NVL function in Oracle
我想 select 来自 table 员工的所有数据,并与其他 table 进行内部连接,例如:
SELECT * FROM EMPLOYEE
INNER JOIN Deparment ON Employee.Id_Department = Deparment.Deparment_Id
AND NVL('Mathematics', Deparment.Name);
当我执行时出现错误 ORA-00920
:无效的关系运算符,我认为可能 nvl()
函数是这里的问题。
你需要在NVL('Mathematics', Deparment.Name)
之后添加一个关系运算符,比如=, !=, <
例如:
AND NVL(Deparment.Name,'Mathematics')='Physics'
你没有提到连接语句中的第二个条件也NVL()
函数参数放错了。
通过假设员工部门名称为 department_name
并根据需要更改脚本来尝试此操作
SELECT *
FROM employee
inner join deparment
ON employee.id_department = deparment.deparment_id
AND employee.department_name =
NVL(deparment.name, 'Mathematics');
我想 select 来自 table 员工的所有数据,并与其他 table 进行内部连接,例如:
SELECT * FROM EMPLOYEE
INNER JOIN Deparment ON Employee.Id_Department = Deparment.Deparment_Id
AND NVL('Mathematics', Deparment.Name);
当我执行时出现错误 ORA-00920
:无效的关系运算符,我认为可能 nvl()
函数是这里的问题。
你需要在NVL('Mathematics', Deparment.Name)
之后添加一个关系运算符,比如=, !=, <
例如:
AND NVL(Deparment.Name,'Mathematics')='Physics'
你没有提到连接语句中的第二个条件也NVL()
函数参数放错了。
通过假设员工部门名称为 department_name
并根据需要更改脚本来尝试此操作
SELECT *
FROM employee
inner join deparment
ON employee.id_department = deparment.deparment_id
AND employee.department_name =
NVL(deparment.name, 'Mathematics');