In einem T-SQL-WHERE-Klausel,CASE Umsetzung in WHERE-Klausel
ich die admit_date
zwischen CI.start_date
und CI.end_date
sein will, wenn es ein CI.end_date
ist. Wenn kein Enddatum vorhanden ist, dann will ich admit_date
>= CI.start_date
WHERE 1=1
AND CASE WHEN CI.end_date IS NULL
THEN CEV.admit_date >= CI.start_date
ELSE CEV.admit_date BETWEEN CI.start_date AND CI.end_date
END
Dies wird nicht sein, arbeiten, da ich nicht in der Lage bin diesem Fall einen Teil eines Ausdrucks in der WHERE-Klausel zu machen und nicht der Ausdruck selbst.
Wie implementiere ich das?
Ich hatte das Gefühl, dass COALESCE in solchen Situationen gut funktioniert, aber einen Zeiger brauchte. Bin dankbar. – AS91