테이블에 A1(시작날짜), A2(시작시간), B1(종료날짜), B2(종료시간) 가 있습니다. 모두 date 형식 입니다.
지금 시점이 (시작날짜+시작시간) 보다 크고 (종료날짜+종료시간) 보다 작은 모두 자료를 가져올려고 합니다.
아래 where 조건하면 안되나요? where (시작시간 || ' ' || 시작시간) <= to_date(지금시점) <= (종료날짜 || ' ' || 종료시간)
by 마농
[2014.03.31 13:55:39]
우선 4개 컬럼의 정확한 자료형이 뭔지 확인해 주세요. Date 형식이라면? 일자와 시간을 모두 지정할 수 있는 타입인데... 날짜와 시간이 각각 따로 들어가네요? 시간만 저장하는 타입은 없는걸로 압니다. 오라틀이라면요? DBMS 는 뭔가요?
by 스나이퍼
[2014.03.31 14:07:55]
오라클입니다. date 형식으로 날짜+시간 함께 저장해도 되는데 날짜와 시간을 따로 저장해서 || ' ' || 를 이용하여 합치는 구문이 없을까 해서 문의드렸습니다.
by 마농
[2014.03.31 14:14:16]
데이터 타입이 Date 가 아닐 듯 하네요. Date 타입에 시간만 저장하는 경우는 보질 못했습니다. 데이터 타입이 뭔지 확실하게 확인해 주시구요. 아마도 varchar2 일듯 하구요. 정확한 저장 포멧, 실제 저장된 데이터 형태를 알려주시구요. "지금 시점"에 대한 처리는 어떻게 하는지? 알려주세요. 날짜비교는 그 타입을 정확하게 맞춰서 비교해야만 합니다.
by 스나이퍼
[2014.03.31 14:32:25]
지금 시점은 현재시간입니다. ex) 2014-03-21 14:30:40 현재시점이 아래와 같은 A1, B1 사이의 시간이라면 자료를 검색