有没有办法设置数字类型的'varchar'?

Is there any way to set 'varchar' in number type?

当我写的时候:

SELECT 
    last_name, NVL(commission_pct, 0)
FROM 
    Hr.employees;

它工作正常。当佣金百分比为空时,则设置为0。

但我想将它设置为 'NO COMMISSION' 而不是 0。

如果您return将佣金值作为字符串,是的。

select last_name, nvl(to_char(commission_pct),'NO COMMISSION')
from hr.employees

你也可以试试coalesce函数。 COALESCE 是 ANSI 标准。

select last_name, COALESCE(to_char(commission_pct),'NO COMMISSION')
from hr.employees