一尘不染

如何用文本替换空值?

sql

我需要last_name从OracleSQL中的employees表中显示Employee及其佣金金额,但是条件是如果它遇到NULL值,我需要打印_“ No Commission”_ 。
在第一部分中,我写道:

select last_name, commission_pct from employees;

但是我无法获得如何NULL“ No Commission” 代替价值观。


阅读 190

收藏
2021-03-10

共1个答案

一尘不染

您可以使用case表达式:

select last_name
     , case when commision_pct is null then 'No Commission' else commision_pct end    
from employees;

coalesce

select last_name
     , coalesce(commision_pct, 'No Commission')
from employees;

nvl

 select last_name
     , nvl(commision_pct, 'No Commission')
from employees;

PS如果commision_pct不是数据类型,则varchar也应使用castto_char

2021-03-10