![]() |
if-Abfrage bei NULL Werten
ich setze hiermit 2 SQL-Statements ab:
SQL-Code:
Kann man das nicht mit einer If- Abfrage machen ? Es geht darum, je nachdem, ob MENGE NULL ist die entsprechende Aktion auszuführen. Also so was wie :
UPDATE LAGER SET BESTAND = BESTAND + :MENGE WHERE (ID_ART = :ID_ART) AND BESTAND IS NOT NULL;
UPDATE LAGER SET BESTAND = :MENGE WHERE (ID_ART = :ID_ART) AND BESTAND IS NULL;
SQL-Code:
Irgendwie geht das aber nicht. :shock:
IF MENGE IS NULL THEN
UPDATE .... |
Re: if-Abfrage bei NULL Werten
Hallo Hansa,
ich nehme an, du nutzt Firebird!? Eine IF Abfrage wäre dann im Rahmen einer StoredProcedure möglich. |
Re: if-Abfrage bei NULL Werten
Zitat:
Aber mit COALESCE oder CAST klappt es:
SQL-Code:
UPDATE LAGER SET BESTAND = COALESCE(BESTAND, 0.0) + :MENGE WHERE (ID_ART = :ID_ART)
|
Re: if-Abfrage bei NULL Werten
Falls du Oracle einsetzt:
Da heißt das Ding nvl(Bestand, 0) |
Re: if-Abfrage bei NULL Werten
Zitat:
Nur was ist :
SQL-Code:
Was soll denn das sein ? :shock:
COALESCE
|
Re: if-Abfrage bei NULL Werten
[quote="Hansa"]
Zitat:
Ich bin sehr zufrieden damit. |
Re: if-Abfrage bei NULL Werten
Code:
liefert den ersten der Wertereihe (von vorn angefangen), der nicht NULL ist
[b]coalesce[/b](Wert1,Wert2,...WertN)
wenn also
Code:
dann liefert:
Wert1 = [color=red][b]NULL[/b][/color] und
Wert2 = [color=red][b]NULL[/b][/color] und Wert3 = [color=green][b]'Hier bin ich'[/b][/color]
Code:
den Wert:
[b]coalesce[/b](Wert1,Wert2,Wert3)
Code:
Gruß
[color=green][b]'Hier bin ich'[/b][/color]
|
Re: if-Abfrage bei NULL Werten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz