SQL查询添加包含空值的两列的值?

ant*_*pug 7 sql database oracle

给定表:

    ID   ONE   TWO
    X1   15    15
    X2   10    -
    X3   -     20

这个查询:

SELECT (ONE + TWO) FROM (TABLE)
Run Code Online (Sandbox Code Playgroud)

只返回值的总和X1而不返回其他值,因为至少有一列具有空值.即使有空值,我怎么还能添加它们?即将null视为0?

Mos*_*cho 10

SELECT (COALESCE(ONE, 0) + COALESCE(TWO, 0)) FROM (TABLE) 
Run Code Online (Sandbox Code Playgroud)

COALESCE将从左到右返回参数中找到的第一个非null值.因此,当第一个字段为空时,它将采用0.

那样,X2会导致10 + 0 = 10