날짜와 시간을 비교하는 구분입니다. 6

by 스나이퍼 [2014.03.31 12:24:08]



테이블에 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 사이의 시간이라면 자료를 검색

정상적이라면 아래와 같이 하는게 맞지만,
A1,B1 모두 date
A1  | B1

2014-02-02 09:00:00 | 2014-02-28 23:59:00 
2014-02-01 09:00:00 | 2014-02-28 23:59:00 

아래처럼
A1,A2, B1,B2 모두 date
A1 | A2 | B1 | B2

2014-02-02 | 09:00:00 | 2014-02-28 | 23:59:00
2014-02-01 | 09:00:00 | 2014-02-28 | 23:59:00

혹시 Date 형식의 자료를 날짜와 시간을 쪼개서 저장하고 그 자료들을 || ' ' ||  를 이용하여
다시 하나의 날짜+시간의 자료로 만들수 있을까 테스트 하다 안되어서 문의드렸습니다.
너무 무모했나요?ㅠㅠ

by 임상준 [2014.03.31 14:48:18]

date 타입은 기본적으로 날자와 시간이 같이 저장될텐데요 아니었나요?
쪼개서 넣고 싶어도 넣을수가 없지 않나...


by 마농 [2014.03.31 15:18:37]

같은 말을 반복할수밖에 없네요.
데이터 타입을 다시 한번 확인하고 정확하게 알려주세요.
답글을 좀 더 꼼꼼하게 정독해 주세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입