webForumDet fria alternativet

summa ska bli 0 vid null i sp

Webbutveckling

3 svar · 178 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

kan nån rätta till koden nedan, finns inte sessionid ska summan bli 0.

Select 
Case sum(Timeloss) 
When null Then 0
Else sum(Timeloss)
From Productionlog_tmp_time
Where Sessionid = @Sessionid
Medlem sedan dec. 200012 464 inlägg
#2

Du måste använda is null

Select 
Case when sum(Timeloss) is null Then 0
Else sum(Timeloss) end 
From Productionlog_tmp_time
Where Sessionid = @Sessionid

I och för sig så borde det bli 0 i alla fall.

Medlem sedan juni 20003 076 inlägg
#3

LarsG skrev:

I och för sig så borde det bli 0 i alla fall.

Trodde jag också, men finns ingen post alls med korrekt sessionid så kan inte summeringen genomföras tydligen.

Din kod funkar dock tiptop! :bire

Medlem sedan dec. 200012 464 inlägg
#4

I och för sig så hade jag fel i mitt påstående om att det borde bli 0 i alla fall. Det skall bli null enligt SQL-standarden när det inte finns någon post i tabellen som uppfyller de ställda villkoren.

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)