Einzelnen Beitrag anzeigen

Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.099 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Im Select null oder Wert in WHERE

  Alt 27. Jan 2020, 09:59
Zitat:
ja das ist voll Krank nur weil das SQL damals nicht sauber umgesetzt wurde.
Warum wurde der Vergleich auf NULL anders behandelt als der Vergleich mit einem Wert
Weil NULL kein Wert ist.
ist schon klar, ich kritisiere hier NUR den unterschied zwischen abfrage geben null und abfrage gegen Wert.
Adresse = 'XY'
Adresse = null
Adresse is null warum wurde hier "is" und nicht "=" implementiert. Also Adresse = null. Damit hätte man nur ein Variante des Vergleichs.

Durch die Fallunterscheidung muss man daran denken dass auch gegen null verglichen werden könnten und müsste das SQL anpassen wie auch vom himitsu vorgeschlagen
z.B.: ((STRASSE IS NULL AND :STRASSE IS NULL) OR (STRASSE = :STRASSE)) oder über Macros das SQL dynamisch aufbauen.
Ist meiner Meinung nach völlig unnötig.

Denn wenn man nicht daran denkt, funktioniert der Vergleich nicht!

Code:
SELECT ADRESSID
FROM ADRESSEN
WHERE VORNAME = :VORNAME
  AND NACHNAME = :NACHNAME
  AND STRASSE = :STRASSE
  AND PLZ = :PLZ
  AND ORT = :ORT


if mdQuelle.FieldByName('STRASSE').IsNull
then qrZiel.ParamByName('STRASSE').Clear
else qrZiel.ParamByName('STRASSE').AsString := mdQuelle.FieldByName('STRASSE').AsString;



Gruß Kostas
  Mit Zitat antworten Zitat