Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Im Select null oder Wert in WHERE

  Alt 26. Jan 2020, 22:34
Was du im Delphi machst, das kann man auch im SQL machen.
z.B. (das IF als IIF, IFTHEN, CASE oder wie auch immer)
AND IIF(:STRASSE IS NULL, STRASSE IS NULL, STRASSE = :STRASSE)
bzw. da du ja kein NULL, sondern einen Leerstring in der Variable/Parameter hast
AND IIF(:STRASSE = '', STRASSE IS NULL, STRASSE = :STRASSE)
oder sicherheitshalber, falls doch
AND IIF(COALESCE(:STRASSE, '') = '', STRASSE IS NULL, STRASSE = :STRASSE)
AND IIF(NULLIF(:STRASSE, '') IS NULL, STRASSE IS NULL, STRASSE = :STRASSE)
oder
AND ((STRASSE IS NULL AND :STRASSE IS NULL) OR STRASSE = :STRASSE)
AND ((STRASSE IS NULL AND NULLIF(:STRASSE, '') IS NULL) OR STRASSE = :STRASSE) -- wieder das wegen '' oder NULL
oder
AND COALESCE(STRASSE, :STRASSE) = :STRASSE -- bzw. wegen dem '' oder NULL hier im Delphi als Text oder NULL übergeben
AND COALESCE(STRASSE, NULLIF(:STRASSE, '')) IS NOT DISTINCT FROM NULLIF(:STRASSE, '') -- wieder '' oder NULL
AND COALESCE(STRASSE, :STRASSE, '') = COALESCE(:STRASSE, '') -- oder andersrum
$2B or not $2B

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