sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server - använder CASE i WHERE-satsen

I ditt fall behöver du bara ELLER

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

Ett fall är för värden , inte villkor. Villkoret är utanför CASE-uttrycket

t.ex.

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



  1. SQL Server (localdb)\v11.0 förklaras

  2. Hur konfigurerar jag Django med pymysql som drivrutin?

  3. SQL Server och implicit konvertering av typer

  4. hur frågar man (söker) i sql på Amazon Athena som har JSON-värde?