AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Im Select null oder Wert in WHERE
Thema durchsuchen
Ansicht
Themen-Optionen

Im Select null oder Wert in WHERE

Ein Thema von Kostas · begonnen am 26. Jan 2020 · letzter Beitrag vom 27. Jan 2020
 
Benutzerbild von himitsu
himitsu
Online

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

AW: Im Select null oder Wert in WHERE

  Alt 26. Jan 2020, 22: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
Ein Therapeut entspricht 1024 Gigapeut.

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


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 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