我需要在Oracle sql中的employees表中显示Employee last_name及其佣金金额,但条件是如果遇到NULL值我需要打印“No Commission”.
我写的第一部分是:
我写的第一部分是:
select last_name,commission_pct from employees;
但我无法得到如何用“无佣金”替换NULL值.
解决方法
您可以使用案例表达式:
select last_name,case when commision_pct is null then 'No Commission' else commision_pct end from employees;
或者合并:
select last_name,coalesce(commision_pct,'No Commission') from employees;
或者nvl:
select last_name,nvl(commision_pct,'No Commission') from employees;
附:如果commision_pct的数据类型不是varchar,您还应该使用cast或to_char.