데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

날짜 데이터 행렬 변환

떡재 2017.11.08 10:03 Views : 7033

시작일과 종료일을 입력 받아 시작일과 종료일의 사이의 날짜를 모두 임시테이블에 출력하고


임시테이블에 있는 날짜들을  COUNT값과 행렬 변환을 할려고 하고있습니다.


피벗 말고 다른 방법으로 행렬 변화를 주고싶은데


커서와 update 를 사용하는 방법을 알고있으신분 있나요?


원본 코드

@START_DAY DATE,
@END_DAY DATE
AS
IF OBJECT_ID ('econnetUX..#JH_TEMP') IS NULL
BEGIN
 CREATE TABLE #JH_TEMP
 ( 
  DAY_TEMP DATE,
  NUM INT IDENTITY (1,1)
 )
END

-----------------------------임시테이블이 존재하지 않을경우 임시테이블 생성-------------------------------
DECLARE @DIFF INT
DECLARE @COUNT INT
SET @COUNT = 0
SET @DIFF = (SELECT DATEDIFF(DAY, @START_DAY, @END_DAY) AS DAYDIFF)

---------------------입력 받은 @START_DAY 와 @END_DAY를 통해 @DIFF 계산-----------------------------------

IF NOT EXISTS(SELECT IN_DAY FROM JH_DAY WHERE IN_DAY = @START_DAY)
BEGIN
INSERT INTO JH_DAY(IN_DAY) VALUES(@START_DAY)
END
----------------------입력 받은 @START_DAY 값이 존재하지 않으면 JH_DAY 입력---------------------------------

DECLARE DAY_CURSOR CURSOR --커서 선언
FOR
SELECT @START_DAY FROM JH_DAY --정보를 가지고올 테이블

OPEN DAY_CURSOR -- 커서오픈
FETCH NEXT FROM DAY_CURSOR INTO @START_DAY

WHILE @@FETCH_STATUS = 0
BEGIN
WHILE(@COUNT <=@DIFF)
BEGIN
INSERT INTO #JH_TEMP(DAY_TEMP) VALUES (@START_DAY)
SET @START_DAY = (SELECT DATEADD(DAY,1,@START_DAY))
SET @COUNT +=1
END
FETCH NEXT FROM DAY_CURSOR INTO @START_DAY
END
CLOSE DAY_CURSOR
DEALLOCATE DAY_CURSOR

 

SELECT * FROM #JH_TEMP

No. Subject Author Date Views
10047 쿼리 where 절 case when 사용질문 [1] 안돼요 2017.11.14 10036
10046 이구조로 피봇 가능한가요??? [1] 돌브레인 2017.11.14 10312
10045 서버PC 결정장애 문의 드립니다. 희망나라 2017.11.14 9042
10044 쿼리문의? [8] 문상연 2017.11.14 6371
10043 저장프로시저 문의 [4] JoWonGi 2017.11.13 8911
10042 삭제해버린 데이터베이스 복구를 하고 싶습니다..ㅠㅠ [2] 스터프 2017.11.13 7941
10041 mssql 쿼리 질문드립니다! [8] 파란약 2017.11.13 7473
10040 시스템 데이터베이스 복구 문의드립니다. [6] 톡히슈터 2017.11.13 10657
10039 ROW의 없는 숫자 추출하기 [2] reJanus 2017.11.10 8806
10038 데이터 동기화 프로그램 질문드려요 [7] 베로 2017.11.10 8624
10037 mssql 쿼리 질문을 좀 드립니다. [1] wondo 2017.11.08 7031
10036 TOP 또는 FOR XML을 함께 지정하지 않는 한 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서 ORDER BY 절을 사용할 수 없습니다. [1] mingky 2017.11.08 8842
» 날짜 데이터 행렬 변환 떡재 2017.11.08 7033
10034 DELETE문 실행시 형변환 오류 발생 [4] 고구망 2017.11.06 8774
10033 [MSSQL] Full Text Search - CONTAINS 구문 관련 문의 studyaccount 2017.11.06 7944
10032 DB에 image 저장 문의 드립니다. [1] sin 2017.11.05 6272
10031 백업파일로 DB복구를 하려는데 로그파일이 너무 큽니다. 어떻게 해야 할까요.. 체력덩이 2017.10.31 8130
10030 PROFILER 실행 오류 좀 봐주세요~ [2] 찬전 2017.10.30 9781
10029 DB 백업 문의드립니다. [4] 톡히슈터 2017.10.30 8504
10028 Transactio log에 대해 궁금한 점이 있습니다. [3] tempest 2017.10.30 6791





XE Login