Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak używać instrukcji case w przypadku, gdy warunek?

Predykat CASE wyrażenie (tzn. co następuje po THEN ) musi być wartością, a nie logiką. Możesz przeformułować swoje WHERE klauzula w następujący sposób:

WHERE
    p.resource_qry_seq = b.resource_qry_seq AND
    p.resource_id = b.resource_id AND
    ((b.flexible_time IS NULL AND
        (b.activity_start >= p.activity_start AND b.activity_end < p.activity_end) OR
        (b.activity_start > p.activity_start  AND b.activity_end <= p.activity_end)) OR
    (b.flexible_time IS NOT NULL AND b.activity_start > p.late_start))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Regex bazy danych Oracle dla powtarzających się grup znaków

  2. Grupowanie danych w różne tabele na podstawie minimalnej daty zdarzenia

  3. Jak dodać wskaźnik AD/BC do daty w Oracle?

  4. Niewrażliwy i wrażliwy na przewijanie typu JDBC

  5. Wyrocznia:„=DOWOLNY()” kontra „IN ()”