我需要last_name
在Oracle SQL中的employees表中显示Employee 及其佣金金额,但条件是如果遇到NULL
我需要打印"No Commission"的值.
我写的第一部分是:
select last_name, commission_pct from employees;
Run Code Online (Sandbox Code Playgroud)
但我无法得到如何NULL
用"无佣金"取代价值观.
pot*_*hin 31
你可以使用case
表达式:
select last_name
, case when commision_pct is null then 'No Commission' else commision_pct end
from employees;
Run Code Online (Sandbox Code Playgroud)
或者coalesce
:
select last_name
, coalesce(commision_pct, 'No Commission')
from employees;
Run Code Online (Sandbox Code Playgroud)
或者nvl
:
select last_name
, nvl(commision_pct, 'No Commission')
from employees;
Run Code Online (Sandbox Code Playgroud)
PS如果commision_pct
不是数据类型,varchar
你也应该使用cast
或to_char
.
对于Oracle
select last_name, nvl(commission_pct,'No Commission')
from employees;
Run Code Online (Sandbox Code Playgroud)
对于SQL
select last_name, isnull(commission_pct,"No Commission") as commission_pct
from employees;
Run Code Online (Sandbox Code Playgroud)