Ich habe eine Sicht in MY SQL-Server erstellen, wo ich CASE
Bedingung verwenden muss, um eine Anforderung zu erfüllen.Wie Bedingung beim Erstellen neuer Spalte in SQL-Sicht verwenden
select
cast([SIR Per Occ] as float) * 1000000 as [SIR Per Occ],
cast([SIR Agg] as float) * 1000000 as [SIR Agg],
cast([Per Occ Limit Between] as float) * 1000000 as [Per Occ Limit Between],
cast((cast([SIR Per Occ] as float)) + (cast([Per Occ Limit Between] as float)) as float) * 1000000 as [Policy Occ Attachment],
cast((cast([SIR Agg] as float)) + (cast([Per Occ Limit Between] as float)) as float) * 1000000 as [Policy Agg Attachment]
from IT.dbo.Policy_find
Aber in meiner Aufgabe, wenn die [Per Occ Limit Between]
NULL
Werte ist, dann muss ich es als Null und der obige Code wie folgende Logik arbeiten, anzunehmen sollte:
Policy Occ Attachment = [SIR Per Occ]
Policy Agg Attachment = [SIR Agg]
Wie würde ich umsetzen ein solches Szenario in der Select-Klausel ohne Verwendung von where
Bedingung?
Fall, wenn [Per Occ Grenze Zwischen] ist null then 0 else gegossen ([Per Occ Grenze Zwischen] als float) * 1000000 Ende als [Pro Occ Grenze Zwischen] .. Das funktionierte bis zu einem gewissen Grad, aber immer noch die 0 als Zeichenfolge und summiert sich nicht – Mike
Sie können immer noch eine CAST über Ihren Fall verwenden? 'CAST (FALL WENN exp THEN 0 ELSE 1 END, float)' Es ist ein bisschen übertrieben, sollte aber gut funktionieren – Lostblue