database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1495 게시물 읽기
No. 1495
안녕하세요 날짜 기간 검색에 대해서 질문입니다.
작성자
김연태(singkro)
작성일
2008-01-18 09:23ⓒ
2008-01-18 09:47ⓜ
조회수
10,168

안녕하세요 DB 라고는 처음 만져보는 초초보입니다.

날짜 기간을 검색하려고 하는데 잘 안되서 고수님들의 도움을 받았으면 합니다.


EX ) 06년 01월 ~ 07년 12월까지     
       06년 01월 ~ 06년 01월까지 

YEAR      MNTN
  06             05
  06             08
  06             10
      .
      .
  07             02
  07             10
  07             12 
   
이런식으로 데이터가 들어가 있습니다.
같은 년도 같은 달을 조회할 경우 01일 부터 마지막 날까지 검색

SELECT *
   FROM
            (
             SELECT   SUBSTR(A.dat,3,2) YY,  SUBSTR(A.dat,5,2)  MM,  SUBSTR(A.dat,7,2)  DD
                FROM
                         (
                          SELECT  HEX(CURRENT DATE) dat
                             FROM DATETABLE
                        )A
             )A
WHERE  ( A.YY > '06' or ( A.YY = '06' and A.MM > '05 ) or ( A.YY = '06' and A.MM = '05' and  A.DD >=  '01'))
   AND   ( A.YY < '07' or  (A.YY = '07' and A.MM < '12') or ( A.YY = '07' and A.MM = '12' and A.DD <= '31'))

오라클에 비슷한 예제가 있어 해보았는데 안되더군요..어디를 어떻게 수정해야 할까요?

답변 부탁드립니다.

이 글에 대한 댓글이 총 3건 있습니다.

테이블이 작다면 

select * from datetable
where YEAR||MNTH||DAY between '060101' and '071231' 

이렇게 해보세요

--님이 2008-01-18 11:33에 작성한 댓글입니다. Edit

답변 감사합니다.... .. 데이터가 나오네요

예전에 select 에서 합쳤을 때는 안되더니.. 그리고 테이블이 작다면이라고 하셨는데

테이블이 클 경우에는 어떤  문제가 발생하나요?

sing님이 2008-01-18 14:34에 작성한 댓글입니다.
이 댓글은 2008-01-18 14:35에 마지막으로 수정되었습니다. Edit

조건이 되는 컬럼에 변경이 있으면 index를 사용하지 못해 fullsacn을 합니다. 

이러면 테이블이 커질 경우 문제가 됩니다. 


님의 테이블의 경우 YEAR,MNTH,DAY 각 컬럼을 하나의 컬럼으로 합치고 index를 생성해주면 더 좋을것 같습니다.

--님이 2008-01-18 14:44에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1498DB2 에서 전역변수 처리 [4]
조성환
2008-01-28
10998
1497DB2에서 PRIMARY KEY 늘리는 QUERY [1]
궁금이
2008-01-22
10930
1496맨 끝 레코드 가져오려면?? [2]
db초보
2008-01-18
9708
1495안녕하세요 날짜 기간 검색에 대해서 질문입니다. [3]
김연태
2008-01-18
10168
1493안녕하세요~ 에러코드인대 알려주십시요 [1]
이장훈
2008-01-14
9951
1492db2에서는 setAutocommit가 안먹나요?? [1]
괴롭다
2008-01-13
21915
1491with문을 이용한 임시테이블 생성시 [2]
지니
2008-01-11
10246
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다