oracle 函数嵌套的奇怪现象
两段看起来等价的SQL,
第一段SQL可以运行,第二段SQL却会报ORA-01722: 无效数字
b.STU_SCORE 会有null的数据
第一段SQL
ROUND (
AVG (
DECODE (
SCOPE .score_kind_id,
'3',
D .SCORE + 0,
b.STU_SCORE + 0
)
),2) AS totalScoreAvg,
第二段SQL
DECODE (
SCOPE .score_kind_id,
'3',
ROUND (AVG(D.SCORE + 0), 2),
ROUND (AVG(b.STU_SCORE + 0), 2)
) AS totalScoreAvg,