Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi wie wirkt sich NULL aus ? [erledigt] (https://www.delphipraxis.net/22205-wie-wirkt-sich-null-aus-%5Berledigt%5D.html)

Hansa 14. Mai 2004 01:08


wie wirkt sich NULL aus ? [erledigt]
 
Hi,

ich habe 2 Zahlen in der Datenbank (Interbase). Addiere ich die nun und eine davon ist NULL, so ist das Ergebnis 0,00. Konkretes Bsp. ist : Zahl 1 : 34,10 Zahl 2 : NULL. Summe ist 0,00. Was muß ich machen, damit 34,10 rauskommt ?

dizzy 14. Mai 2004 01:14

Re: wie wirkt sich NULL aus ?
 
Ich schätze mal, dass NULL als "nicht existent" gewertet wird, und wenn ein Operand nicht existiert, kann damit auch nicht gerechnet werden ;)
Folglich würde die Rechnung nicht stattfinden. Lösungsidee: Alle Felder =NULL auf =0 setzen, und damit dürfte es gehen.
Rein technisch ist NULL eigentlich =0, nur muss ja jeder Interpreter für sich selber entscheiden, ob er dort nun einen Unterschied macht, oder nicht. (C z.B. unterscheidet glaube ich nicht)


gruss,
dizzy

Robert_G 14. Mai 2004 01:16

Re: wie wirkt sich NULL aus ?
 
Das Problem ist: NULL ist kein Wert (also auch nicht 0 ;) )
Ich weiß nicht wie es in IB ist, aber in Oracle haben sogar bool'sche Variablen 3 Zustände: True, False & NULL.
Ein Vergleiche wie:
SQL-Code:
 1 = Null
 2 > Null
 2 beetween NULL and 3
 ...
ergeben also immer NULL.

Genau wie ...
SQL-Code:
1 + NULL
-> NULL ergibt.
Umgehen kann man das ganz easy indem man so rechnet:
SQL-Code:
nvl(Variable, 0) + 1
Nachtrag: dizzy war schneller
p.s.: Der IS-Operator ist IMHO die einzige Möglichkeit bei einem Vergleich mit null auf True oder False zu kommen.

kiar 14. Mai 2004 11:16

Re: wie wirkt sich NULL aus ?
 
oder du erstellst eine stored procedure die auf IsNull testet.
SQL-Code:

 CREATE PROCEDUR proc_TesteNull RETURNS( id : Integer, wert : Integer)
 AS
 BEGIN
 FOR SELECT ID, WERT
 FROM DEINERTABELLE
 INTO :ID, : WERT
 DO
   BEGIN
     IF (WERT IS NUll) THEN WERT := 0;
     SUSPEND;
   END
 END
raik

Hansa 14. Mai 2004 12:47

Re: wie wirkt sich NULL aus ?
 
Glücklicherweise existiert bereits eine Stored Proc., die mir die Arbeit abnimmt, zu überprüfen, ob ein insert oder update nötig ist. Deshalb brauchte ich nur in dem Insert Teil die besagten Werte mit 0 statt mit Null-nix :mrgreen: vorbesetzen.

kiar 14. Mai 2004 12:49

Re: wie wirkt sich NULL aus ?
 
frage

warum hast du das thema nicht als erledigt markiert? :mrgreen:

Hansa 14. Mai 2004 16:43

Re: wie wirkt sich NULL aus ?
 
Die Logik ist zwar überprüft, es ist aber noch nicht getestet. :mrgreen:

Hansa 14. Mai 2004 17:28

Re: wie wirkt sich NULL aus ? [erledigt]
 
Wie ich vermutet habe, geht das schon so, wie geplant. :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz