对于数字数据类型,Oracle等价的NVL是什么?
这是有效的,因为数据类型是VARCHAR:
select nvl(enrol.OUAC_APPLNO, 'blank') Invalid_OUAC_APPLNO
但是这不起作用,因为数据类型是NUMBER:
select nvl(enrol.ouac_type_id, 'blank') REGTYP
没有等效的,没有Oracle函数会接受这个(除了DECODE()但不要这样做); 你将不得不将你的号码转换成一个角色:
select nvl(cast(enrol.OUAC_APPLNO as varchar2(10)), 'blank')
Run Code Online (Sandbox Code Playgroud)
您可能需要根据需要更改要转换的字符数.
但是,我不知道你为什么要这样做.根据定义,NULL意味着不存在.如果要显示blank以便赋予不存在,那么您应该使用表示层而不是数据库.