Dynamische where-Klausel basiert auf variable

Arbeite ich an einer select-Anweisung in SQL und bin in Probleme laufen, die versuchen, um eine where-Klausel enthält eine case-Anweisung oder einer if-else-Anweisung. Ich möchten wählen Sie Datensätze basierend auf dem Wert einer Variablen. Wenn die variable ist 'True', dann nur Datensätze zurück, die von der select-Anweisung, wo eine Spalte null ist. Wenn die variable nicht 'True', dann alle Datensätze zurück, unabhängig davon, ob die Spalten null ist.

Irgendwelche Tipps, wie dies zu tun?

Unten ist ein einfaches Beispiel von, was ich versuche zu tun:

declare @option1 as varchar(5)

--This can be True or False so to test i just put the Set option below
set @option1 = 'True'

Select a,b,c,d...
from ...
where d = case when @option1 = 'True' then NULL End

Dies ist der Teil wo ich nicht weiß, was zu tun ist. Ich brauche nur zum filtern der Datensätze aus, wenn die variable "Wahr" ist also nicht sicher, was in dem anderen Abschnitt der Fall.

InformationsquelleAutor Ben | 2012-12-18

Schreibe einen Kommentar