SQL mit drei Bedingungen
Moin moin,
ich möchte gern eine SQL-Abfrage auf zwei Felder machen, die folgende Bedingungen erfüllt:
SELECT *
FROM Tab1
WHERE ((Col1='01234') and (Col2='56789'))
OR ((Col1='01235') and (Col2 is null))
OR ((Col1 is null) and (Col2='56789'))
Das Problem ist folgendes: Die Werte für Col1 und Col2 kommen aus Variablen. Wenn eine
dieser Variablen leer ist, entsteht natürlich kein 'is null' sondern die Konstellation
Col='' . Daraus resultiert dann ein Synthaxfehler. Weiß jemand, wie ich das umgehen kann?
Bei der Datenbank handelt es sich um Firebird 2.5
Viele Grüße,
Björn Weber
ich möchte gern eine SQL-Abfrage auf zwei Felder machen, die folgende Bedingungen erfüllt:
SELECT *
FROM Tab1
WHERE ((Col1='01234') and (Col2='56789'))
OR ((Col1='01235') and (Col2 is null))
OR ((Col1 is null) and (Col2='56789'))
Das Problem ist folgendes: Die Werte für Col1 und Col2 kommen aus Variablen. Wenn eine
dieser Variablen leer ist, entsteht natürlich kein 'is null' sondern die Konstellation
Col='' . Daraus resultiert dann ein Synthaxfehler. Weiß jemand, wie ich das umgehen kann?
Bei der Datenbank handelt es sich um Firebird 2.5
Viele Grüße,
Björn Weber
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201925
Url: https://administrator.de/forum/sql-mit-drei-bedingungen-201925.html
Ausgedruckt am: 09.01.2025 um 23:01 Uhr
1 Kommentar
Hallo Björn,
ich kenne zwar Firebird DB nicht, aber ich finde Dein Problem ist in der Dokumentation im Kapitel "SQL_NULL data type" (Seite 33 im PDF) beschrieben.
http://www.firebirdsql.org/file/documentation/reference_manuals/referen ...
G Jörg
ich kenne zwar Firebird DB nicht, aber ich finde Dein Problem ist in der Dokumentation im Kapitel "SQL_NULL data type" (Seite 33 im PDF) beschrieben.
http://www.firebirdsql.org/file/documentation/reference_manuals/referen ...
G Jörg