![]() |
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 ? |
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 |
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:
ergeben also immer NULL.
1 = Null
2 > Null 2 beetween NULL and 3 ... Genau wie ...
SQL-Code:
-> NULL ergibt.
1 + NULL
Umgehen kann man das ganz easy indem man so rechnet:
SQL-Code:
Nachtrag: dizzy war schneller
nvl(Variable, 0) + 1
p.s.: Der IS-Operator ist IMHO die einzige Möglichkeit bei einem Vergleich mit null auf True oder False zu kommen. |
Re: wie wirkt sich NULL aus ?
oder du erstellst eine stored procedure die auf IsNull testet.
SQL-Code:
raikCREATE 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 |
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.
|
Re: wie wirkt sich NULL aus ?
frage
warum hast du das thema nicht als erledigt markiert? :mrgreen: |
Re: wie wirkt sich NULL aus ?
Die Logik ist zwar überprüft, es ist aber noch nicht getestet. :mrgreen:
|
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 22:36 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