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
Please also mark the comments that contributed to the solution of the article
Content-Key: 201925
Url: https://administrator.de/contentid/201925
Printed on: April 23, 2024 at 16:04 o'clock
1 Comment
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