Werte addieren

kesnw

Erfahrenes Mitglied
Hallo,

ich habe 12 Spalten in meiner MSSQL-Datenbank, die ich mit folgender Abfrage auslese:

Code:
Select question1+question2+question3+question4+question5+question6+question7+question8+question9+question10+question11+question12 as points from lbs_module2_fill WHERE id in (select distinct id from lbs_module2_fill WHERE abt = 'GXPM')

In den Spalten können die Werte "000","001","010","100" und "<NULL>" stehen. Warum wird bei einem Vorkommen von "<NULL>" Null ausgegeben und nicht z.B. 001100010011NULL
 
Weil eine Operation mit NULL (= undefiniert) immer undefiniert ist. Du kannst das aber beeinflussen indem Du Deine Spalten mit ISNULL auf NULL abfragst:

SELECT ISNULL (question1, '') + ISNULL (question2, '')+.....
 
Oder einfacher mit

SET CONCAT_NULL_YIELDS_NULL OFF

behandelt der SQL Server NULL wie '' (leerer String)

mit

SET CONCAT_NULL_YIELDS_NULL ON

ergibt wieder jede Operation mit NULL auch NULL
 
Zurück