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

SQL Server - bruger CASE i WHERE-sætning

I dit tilfælde behøver du kun ELLER

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

En sag er for værdier , ikke betingelser. Betingelsen er uden for CASE-udtrykket

f.eks.

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



  1. Hvordan indsætter man et specifikt UUID i h2-databasen?

  2. Sletning af rækker:Intet enkelt medlem har mere end x registreringer

  3. sql for at vælge én post for hver måned med en sum af månedens poster

  4. Hvordan migrerer man en eksisterende Postgres-tabel til en partitioneret tabel så gennemsigtigt som muligt?