Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Im Select null oder Wert in WHERE

  Alt 26. Jan 2020, 23:10
In so manchem DBMS kann man Operatoren auch selbst definieren.
Dort könnteste du dir dann auch einen "kurzen" Operator für Vergleiche mit NULL und EMPTY selbst bauen, wenn/da es sowas oft nicht "vernünftig" gibt,
denn mal ganz im Ernst, aber wer sich IS NOT DISTINCT FROM ausgedacht hat ... k.A. was der da geraucht hatte.

SQL-Code:
CREATE OR REPLACE FUNCTION compare_with_null(value_a anyelement, value_b anyelement) RETURNS boolean AS $$
  SELECT nullif(value_a, '') = nullif(value_b, '')
  $$ LANGUAGE SQL IMMUTABLE;

CREATE OPERATOR ~= (LEFTARG=anyelement, RIGHTARG=anyelement, PROCEDURE=compare_with_null);


SELECT ADRESSID
FROM ADRESSEN
WHERE VORNAME = :VORNAME
  AND NACHNAME = :NACHNAME
  AND STRASSE ~= :STRASSE
  AND PLZ ~= :PLZ
  AND ORT ~= :ORT
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (26. Jan 2020 um 23:19 Uhr)
  Mit Zitat antworten Zitat