0

2 つの列から 2 つの値を追加しようとしていますが、1 つの列に null がいくつかあるため、結果として null がほとんど得られません。これが私のクエリです。

select COL1,
       (COL2)+(COL3) as Total
from Table

Col2 の値は 1, 2, 3 , 4, 5 です

Col3の値は、5、3、Null、null、1などです

列の合計は、(3+null) と (4+null) に対して NULL を吐き出していますが、他の値は本来あるべき値です。

なぜこれが起こっているのか誰か教えてもらえますか?

4

1 に答える 1

2

null を加えたものは常に null であるため、これが得られます

あなたがしたいことは次のとおりです。

select col1, isNull(col2,0) + isNull(col3,0) as total
from table

私が想定しているのは、col2 と col3 のデータ型が int であることに注意してください。さまざまなデータ型を処理するには、変換を行う必要があります。

于 2013-09-13T00:50:45.627 に答える