Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server - użycie CASE w klauzuli WHERE

W twoim przypadku potrzebujesz tylko LUB

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

Sprawa dotyczy wartości , a nie warunki. Warunek jest poza wyrażeniem CASE

np.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łącznik kontra myślnik:Zastąp myślnik myślnikiem

  2. Co to jest serwer SQL? (Definicja, Wersje, Edycje)

  3. Jak połączyć Cakephp 1.3 z MS SQLServer 2008?

  4. Napraw komunikat 512 „Podzapytanie zwróciło więcej niż 1 wartość” w SQL Server

  5. Potrzebujesz pomocy w obliczeniach przy użyciu dwóch zestawów danych przy użyciu Expression SSRS