2011年3月19日 星期六

SQL overlaps function

1.
select 'X' dummy
  from dual
 where (sysdate,sysdate+1) overlaps (sysdate-2,sysdate+3)

2.
select case
       when (sysdate,sysdate+1) overlaps (sysdate-2,sysdate+3) then 1
       else 0
        end dummy
  from dual

3.
select case
       when (sysdate,sysdate+1) overlaps (sysdate-2,sysdate+3) then least(sysdate,sysdate-2)
       else null
        end valid_from,
       case
       when (sysdate,sysdate+1) overlaps (sysdate-2,sysdate+3) then greatest(sysdate+1,sysdate+3)
       else null
        end valid_to
  from dual

沒有留言:

張貼留言