Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server:utilizzo della clausola CASE nella clausola WHERE

Nel tuo caso, hai solo bisogno di OR

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

Un caso è per valori , non condizioni. La condizione è al di fuori dell'espressione CASE

ad esempio

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