현재시각이 밤 11:30 분이라면 ID 02번 값이 나오겠지만. 현재시각이 새벽 00:30 분이라면 ID 02번 값이 나오질 않겠네요.
by 아린
[2013.08.12 13:37:20]
SELECT *
FROM (SELECT id
, sdt
, CASE WHEN sdt > edt
THEN TO_CHAR(TO_NUMBER(edt) + 2400)
ELSE edt
END edt
FROM t
)
WHERE TO_CHAR(SYSDATE, 'hh24mi') BETWEEN sdt AND edt
by 마농
[2013.08.12 13:54:30]
SELECT id, sdt, edt
FROM (SELECT id, sdt, edt
, CASE WHEN sdt <= edt THEN sdt ELSE '0000' END sdt2
, CASE WHEN sdt <= edt THEN edt ELSE '2400' END edt2
FROM t
)
WHERE TO_CHAR(sysdate, 'hh24mi') BETWEEN sdt AND edt2
OR TO_CHAR(sysdate, 'hh24mi') BETWEEN sdt2 AND edt
;
by 마농
[2013.08.12 14:04:08]
음.. 시작시간과 종료시간의 경계에 있을 떄 어떤걸 뽑아야 하는지 기준이 있어야 할듯 하네요. 예) 현재시각이 22:30 인경우 ID 01 이 나와야 할지 02 가 나와야 할지? 둘다 나와도 되는지?
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.