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
운영게시판
최근게시물
Oracle Q&A 41199 게시물 읽기
No. 41199
기준일에서 일정한 간격으로 조회하려고 합니다.
작성자
선이
작성일
2016-07-21 15:36
조회수
6,863

안녕하세요.

 

오늘날짜를 기준으로 오늘날짜+30일, 오늘날짜+27일, 오늘날짜+24일....오늘날짜+1일

 

이렇게 3일간격으로 데이터를 조회하려고 합니다.

 

select * from table a

where a.add_date in ( TO_CHAR(SYSDATE+30,'YYYYMMDD'), TO_CHAR(SYSDATE+27,'YYYYMMDD'), .... TO_CHAR(SYSDATE+1,'YYYYMMDD') )

 

이방법밖에는 생각이 안나서요.

 

좋은 방법을 구하고자 합니다.

도와주세요.

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

SELECT *

FROM TABLE A

WHERE A.ADD_DATE IN

(

SELECT (TRUNC(SYSDATE) + (LEVEL - 1) * 3) + 1

FROM DUAL CONNECT BY LEVEL <= 11

)

손재균(iikii)님이 2016-07-22 08:38에 작성한 댓글입니다.

우아...답변감사합니다.

이런 멋진 쿼리가 전 왜 생각이 안될까요..ㅜㅜ

SELECT (TRUNC(SYSDATE+30) + (LEVEL - 1) * 3)+1

FROM DUAL CONNECT BY LEVEL <= 11;

-->

16/08/25

16/08/28

16/08/31

16/09/03

16/09/06

16/09/09

16/09/12

16/09/15

16/09/18

16/09/21

16/09/24

 

근데..전 3일간격으로 날짜가 줄어들게 하려고 했거든요.

SELECT SYSDATE+30 FROM DUAL; --> 16/08/24

 

16/08/25

16/08/22

16/08/19

16/08/16

16/08/13

16/08/10

16/08/07

16/08/04

16/08/01

16/07/29

16/07/26

-->

SELECT (TRUNC(SYSDATE+30) - (LEVEL - 1) * 3)+1

FROM DUAL CONNECT BY LEVEL <= 11

이렇게 고쳤습니다.

 

감사합니다.

선이님이 2016-07-25 09:50에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41202Table 백업을 위한 Export시 보안방법 문의
보안초보
2016-07-27
6322
41201쿼리 문의 [1]
쿼리OTL
2016-07-27
6596
41200스키마 확인 [1]
봉달이2
2016-07-22
6741
41199기준일에서 일정한 간격으로 조회하려고 합니다. [2]
선이
2016-07-21
6863
41198초보자입니다.(급하기도 하구요) [7]
신무기
2016-07-19
7856
41197오라클 쿼리문 SQL SERVER로 바꾸려면?? [2]
헤매이다
2016-07-18
7060
41196ㅂㅈㄷㅂㅈ [1]
강컴공
2016-07-12
6958
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다