在Oracle数据库中,Case语句用于根据条件执行不同的操作。当在Case语句中处理Null时,可以使用以下方法:
SELECT employee_id,
CASE
WHEN salary IS NULL THEN 'Salary is not available'
ELSE 'Salary is ' || TO_CHAR(salary)
END AS salary_info
FROM employees;
在上述例子中,如果salary字段为Null,则返回'Salary is not available',否则返回'Salary is '加上salary字段的值。
SELECT employee_id,
CASE
WHEN NVL(salary, 0) = 0 THEN 'Salary is not available'
ELSE 'Salary is ' || TO_CHAR(salary)
END AS salary_info
FROM employees;
在上述例子中,如果salary字段为Null,则使用NVL函数将其替换为0,然后再进行判断。如果替换后的值为0,则返回'Salary is not available',否则返回'Salary is '加上salary字段的值。
SELECT employee_id,
CASE
WHEN COALESCE(salary, 0) = 0 THEN 'Salary is not available'
ELSE 'Salary is ' || TO_CHAR(salary)
END AS salary_info
FROM employees;
在上述例子中,如果salary字段为Null,则使用COALESCE函数将其替换为0,然后再进行判断。如果替换后的值为0,则返回'Salary is not available',否则返回'Salary is '加上salary字段的值。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云