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
没有评论:
发表评论