sql >> Databáze >  >> RDS >> Oracle

Jak použít příkaz case ve stavu where?

Predikát CASE výraz (tj. co následuje za THEN ) musí být spíše hodnotou než logikou. WHERE můžete přeformulovat doložka takto:

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. Nativní obrázek dat Micronaut:Neexistuje žádný objekt typu bean [io.micronaut.data.operations.PrimaryRepositoryOperations]

  2. Špatný handshake nebo ECONNRESET Azure Mysql Nodejs

  3. Konverze Oracle varchar2 na nvarchar2

  4. Distribuováno ve více sloupcích