Wie Oracle 10g wertet NULL bei boolean-Ausdrücken
if not (i_ReLaunch = 1 and (dt_enddate is not null))
Wie diese epression bewertet wird in Oracle 10g
wenn der input-Wert des i_ReLaunch = null
und der Wert der dt_enddate
ist nicht null
es ist in der Schleife.
Nach den Regeln im normalen c# und alle, die Sie sollten Sie nicht geben Sie die Schleife als
es wird wie folgt mit den Werten.
If( not(false and (true))
was bedeutet, es sollte hinein in die loop -
= if not( false)
=if( true)
Aber es ist nicht passiert
Kann jemand lassen Sie mich wissen, wenn ich falsch bin und an jedem Ort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Boolesche Operationen mit NULL-Wert in Oracle zurück
UNKNOWN
- nicht true oder false. So haben Sie so etwas wie dieses:In diesem Fall
IF
behandeln UNBEKANNTEN als falsch.Wenn
i_relaunch
kann null sein, dann müssen Sie einige der NULL-handling-Funktionen(NVL, NVL2, NULLIF, COALESCE, LNNVL
) sicher sein, dass Sie die richtige Ergebnis.Siehe diesen Artikel für mehr Informationen:
Handling Null Values in Comparisons and Conditional Statements