Hi,
SQL-Code:
select
*
from
Tabelle
where
(0 = :TEST_NAME or USERNAME = :USERNAME)
and (0 = :TEST_ID or USERID = :USERID)
and (0 = :TEST_VON or DATUM_VON = :DATUM_VON)
and (0 = :TEST_BIS or DATUM_BIS = :DATUM_BIS)
Das funktioniert zwar, ist aber nicht sehr performant,
da der
SQL-Server wegen der OR-Verknüpfungen keinen Index nutzen kann.
Je nach Datenvolumen kann das sehr langsam werden.
Performantere Ergebnisse erhält man tatsächlich durch das
Zusammenbauen einer
SQL-Abfrage, in der nur die benötigten
Bedingungen enthalten sind.