Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server – mit CASE in der WHERE-Klausel

In Ihrem Fall brauchen Sie nur ODER

WHERE
    (
    acting_to is null 
    OR 
        (
        datediff(day, acting_from, acting_to) >= 90
        AND
        acting_to >= '2010-10-01'
        )
    )

Ein Fall ist für Werte , nicht Bedingungen. Die Bedingung liegt außerhalb des CASE-Ausdrucks

zB

CASE
    WHEN SomeCol = 'a' THEN ColA
    WHEN SomeCol = 'c' THEN ColC
    ELSE ColB
END > 42