webForumDet fria alternativet

Vill att null ska räknas som 0

Databaser & SQLur Databashanterare & SQL

4 svar · 482 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Hej! Har en sql som hämtar ett maxvärde och plussar på med 1. Men kolumnen kan innehålla null-värden och om det bara är null-värden så skulle jag vilja att det blir 1. Kan man göra det på något snitsigt sätt?

(SELECT CAST(MAX(column) AS Int) + 1 FROM table)
Medlem sedan juni 200032 969 inlägg
#2

coalesce(max(column), 1)

Medlem sedan feb. 200722 inlägg
#3

@nders skrev:

coalesce(max(column), 1)

Nyfiken fråga:
Visst hade även max(isnull(column,0))+1 gått bra?
eller rentav isnull(max(column),0)+1 ?

Och fungerar verkligen din variant? Borde du inte bytt ut "1" mot "0", och efter parantesen lagt till "+1"? Dvs:
coalesce(max(column), 0) +1
(För om det redan finns värden så ska ju det högsta befintliga värdet ökas med 1..?)

Medlem sedan juni 200032 969 inlägg
#4

Nyfiken fråga:
Visst hade även max(isnull(column,0))+1 gått bra?
eller rentav isnull(max(column),0)+1 ?

Det tror jag. :)

Och fungerar verkligen din variant? Borde du inte bytt ut "1" mot "0", och efter parantesen lagt till "+1"?

Det har du nog rätt i. :)

Det är inte alltid man "hinner" tänka helt klart innan man svarar - men förhoppningsvis har man iaf hjälpt någon en bit på väg.

mvh

Medlem sedan sep. 2005673 inlägg
#5

Toppen, tack till er båda! :)

261 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
136 ms — hämta forumlista (db)
123 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)