How to use case statement in where condition?

前端 未结 1 664
再見小時候
再見小時候 2021-01-27 08:05

I need to use the CASE statement in the WHERE clause like:

WHERE  p.resource_qry_seq = b.resource_qry_seq
AND    p.resource_id = b.resource_id
AND    (CASE
              


        
1条回答
  •  深忆病人
    2021-01-27 08:55

    The predicate of a CASE expression (i.e. what comes after THEN) has to be a value, rather than logic. You can rephrase your WHERE clause as follows:

    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))
    

    0 讨论(0)
提交回复
热议问题