2021年3月11日星期四

Case statement check for negative value

I have the below case statement, which can generate negative values as well based not the calculations

I am looking for a way to add another case statement that if after all the calculations the value <0 then 0 else the value.

CASE WHEN (ALS.SID = 6 OR ALS.SID = 7) AND ASIP.SiteID = @iSID       THEN ISNULL(ALS.Add / NULLIF(count,0),0.0)                         ELSE CASE WHEN ALS.SID IN (4, 6) AND @forecast = 0 THEN 0.0 ELSE IAOD.pack END -                               CASE WHEN ALS.SID IN (2, 6) AND @forecast = 0 THEN 0.0 ELSE IAOD.packP END +                               CASE WHEN ALS.SID IN (2, 6) AND @forecast = 0 THEN 0.0 ELSE IAOD.packR END +        ISNULL(CASE WHEN ALS.SID IN (2, 6) THEN CAST(NULL AS FLOAT)                    ELSE IAOD.packS              END,              CASE WHEN ALS.SID IN (2, 6) THEN 0.0                    ELSE IAOD.PPStock               END) +                               CASE WHEN ALS.SID IN (4, 6) AND @forecast = 0 THEN 0.0 ELSE IAOD.unitsO END -                              CASE WHEN ALS.SID IN (2, 6) AND @forecast = 0 THEN 0.0 ELSE IAOD.unitsP END +                               CASE WHEN ALS.SID IN (2, 6) AND @forecast = 0 THEN 0.0 ELSE IAOD.unitsR END +        ISNULL(CASE WHEN ALS.SID IN (2, 6)                    THEN CAST(NULL AS FLOAT)                    ELSE IAOD.unitsS               END,              CASE WHEN ALS.SID IN (2, 6)                    THEN 0.0                    ELSE IAOD.unitsH               END)   END  
https://stackoverflow.com/questions/66593956/case-statement-check-for-negative-value March 12, 2021 at 11:52AM

没有评论:

发表评论