Ich mache eine Berechnung mit (+ Operationen), aber ich sah, dass ich ein Null-Ergebnis habe, ich überprüfte die Datenbank und ich fand etwas wie number+number+nul+number+null+number...=null
. und das ist ein Problem für mich.
gibt es einen Vorschlag für mein Problem? Wie löst man diesen König für Probleme? Danke
Ich bevorzuge ANSI-Standardkonstrukte:
%Vor% NVL()
ist spezifisch für Oracle. COALESCE()
ist ANSI-Standard und in fast allen Datenbanken verfügbar.
Sie müssen diese Werte auf 0 setzen, wenn sie null sind. Sie können nvl
wo das erste Argument von NVL Ihre Spalte wäre.
Sie können etwas wie NVL
verwenden, um eine Null in einen Wert wie 0 zu werfen.
Gibt null
zurück.
Gibt 5
zurück.
Nur realisiert, keine der Antworten erwähnt, was COALESCE () oder NVL () ist, würde ich gerne klären, da es verwirrend sein kann (ich dachte zunächst, dass es sich um Konjunktionsfunktionen handelt).
Angenommen, Sie möchten die vollständige Adresse der Orte in Ihrer Tabelle auswählen, haben Sie zwei Felder - AddressLine1 und AddressLine2. Angenommen, "AddressLine1" ist immer NOT NULL und "AddressLine2" kann NULL sein. Dann möchtest du vielleicht so etwas schreiben:
%Vor%Also, dass für die Einträge, dass AddressLine2 = NULL ist, dies keinen NULL dafür zurückgeben würde.
P.S. Ich frage mich, warum die Plus-Operation in SQL so entworfen wird, sieht wirklich nicht intuitiv aus.