专家...
我正在尝试解决以下简单查询,以包括空条件。
我可以在where子句中使用“ IS NOT NULL”,并忽略记录,但这并不是最好的方法。想要以正确的方式解决此问题。
在当前解码进程下面,列出所有进程,并用JDBC替换“ 1234 @ xzy”,“ 1234 @ abc”。当列表中没有null时,此解码在脚本中无法正常工作。
问题:1.是否可以修改当前解码以将NA替换为null?
Query in oracle:
SELECT osuser, machine,
DECODE (process, '1234', 'JDBC', substr(process, 1, instr(process || '@','@')-1)) "PID"
FROM v$session
WHERE username IS NOT NULL;
Expected Result:
===============
4567
78960
4575
JDBC
JDBC
NA
9658
Process list:
=============
4567
78960
4575
1234@abc
1234@xyz
(null)
9658
您可以decode
使用以下nvl
表达式包装表达式:
SELECT osuser, machine,
NVL(DECODE (process,
'1234', 'JDBC',
substr(process, 1, instr(process || '@','@')-1)),
'NA') "PID"
FROM v$session
WHERE username IS NOT NULL;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句