주식차트 프로그램을 짜고 있습니다.
데이타는 충분히 있는데, 가져오는 과정에서 처음부터 막히네요.. ㅠ.ㅠ
우선 인터벌 날짜를 입력하면 해당 날짜 간격만큼의 데이타를 가져와야 하는데요..
이게 감이 안옵니다.
예를 들어 3일을 입력받는다면, 현재시간부터
2015-02-25
2015-02-22
2015-02-19
2015-02-16
2015-02-13
.
.
.
이런식으로 날짜가 와야 하거든요..
데이타는 많으니, 해당 날짜에 맞춰서 값을 가져오는 방법은.. 나중에 생각하고요..
우선 저런 형태로 값이 나와야 합니다.
구글에서 interval 검색을 해봐도 dataadd 함수만 나오더라구요..
이거로는 지속적으로 차감되는 날짜형태를 만들기가 힘드네요..
물론 날짜는 임의의 수를 입력받는것입니다.
도움 부탁드리겠습니다.
Comment 7
-
비폭력무저항
2015.02.25 15:18
-
초짜해커
2015.02.25 16:36
날짜테이블 하나 만드시면 편하죠.
-
비폭력무저항
2015.02.25 18:25
제가 처음 시작하는거라 날짜로 접근한거구요.실체 사용되는 차트에서는 월, 일, 시, 분 까지 지정이 가능해서분으로 지정한다면 각 분마다 값을 조회해야 합니다.분테이블을 만든다면.. 1년에 525600 건이네요..4년정도 잡으면 20만건인데...이 20만건 테이블을 만들어서 조인시키면서 데이타를 가져온다면.. 어떨까요?저는 감이 잘 안오네요.. ㅡㅡ;; -
처리짱
2015.02.26 11:38
날짜 테이블을 한개 만들어서 조인 시키라는 예기인거 같은데.
무슨 테이블을 20만건을 만들어요 -ㅁ-;
테이블 20만건이 만들어 질려나요. 궁금해지네요 ㅎ
-
비폭력무저항
2015.02.27 16:28
테이블을 20만개를 만드는 얘기가 아니고, 테이블에 분값을 넣어서 20만 행짜리 테이블이 있어야 하나.. 생각해본겁니다.. ^^분단위로 조회를 해야 하는데, 날짜 테이블은 별 의미가 없을꺼 같아서요.. -
minsouk
2015.02.26 14:28
.
-
비폭력무저항
2015.02.27 16:31
일단위 데이타면.. 꼭 저렇게까지 하지 않아도 될거 같습니다.지금 개발하는건 몇년전꺼 데이타가 필요하고 그런건 아니거든요..문제는 실제로는 분단위까지 조회가 가능해야 해서요..이런 방법이 어떻게 적용될 수 있을까.. 고민중입니당.. ^^;;
DECLARE @interval smallint
SET @StartDate = '2014-01-01'
SET @interval = 3
(
SELECT @StartDate as StDt
UNION ALL
SELECT DATEADD(day, @interval, StDt)
FROM CTE
WHERE DATEADD(day, @interval, StDt) <= GETDATE()
)
StDt as StartDate,
DATEADD(day, @interval-1, StDt) as EndDate
FROM CTE