verwendetes Datenbanksystem: SQL-Server 2005 EE
Hallo,
ich habe folgendes Problem:
In meiner Datenbank existiert eine berechnete Spalte. diese Spalte berechnet aus [Anzahl] und [AnzahlproPackung] die Packungsanzahl. ([A]/[ApP]) - soweit so gut.
Nun kann es unter umständen vorkommen, dass [ApP] = 0 und wie wir alle wissen ist teilen durch 0 ne Schnapsidee, was der Server mir auch freudig mitteilt.
Nun möchte ich gerne: (IF [ApP] = 0 THEN 0 ELSE [A]/[ApP]) machen - mag der Server aber nicht...
Und da benötige ich ein wenig Hilfe...
Vielen Dank im Voraus
TG
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Schon mal:
CASE WHEN [ApP] = 0 THEN 0 ELSE [A]/[ApP] END
probiert?
Hallo,
deine Formel müsste so aussehen
([A] / NULLIF([ApP], 0))
NULLIF bewirkt, dass anstelle einer 0 ein NULL genommen wird. Und mathematische Operationen mit NULL ergeben immer NULL (per Default). Somit umgeht man der Division durch 0.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Die Case methode Klappt.. ich hatte wohl nur das END am Ende vergessen 😁
Vielen Dank für die Hilfe
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)