안녕하세요 기능은 단순한거 같은데 안되네요 ....도와 주세요..
사용자에게 두 날자을 받으면 주별,월별 날자을 보여 주려고 하는데요
가령 2014.01.01 , 20114.09.30 받았다고 하면
컬럼
2014.01
2014.02
2014.03
2014.04
2014.05
2014.06
2014.07
2014.08
2014.09
이런식으로 table 가져 오는거 하고
2014.01.01
2014.01.07
......
.......
으로 table 형식으로 해야 하는데
ms-sql 초짜라서 어렵네요
도움 부탁 드려요..
Comment 5
-
항해자™
2014.09.19 13:54
-
항해자™
2014.09.19 14:16
괄호 위치에 문제가 좀 있었네요;;declare @pStartDate datetime = '2014-01-01', @pFinishDate datetime = '2014-03-07';with cteTempRows as (select top (datediff(month,@pStartDate,@pFinishDate)+1)row_number() over(order by (select 1)) - 1 as cRowsfrom syscolumns as across joinsyscolumns as bcross joinsyscolumns as c)select dateadd(month,cRows,@pStartDate)from cteTempRows -
밥먹는푸우
2014.09.19 14:06
이거 문법이 맞는건가요?
실행이 안된는데요..ㅠㅠ
-
나는짱이야
2014.09.20 00:23
sql서버가 with 구문지원하는 버전인지 확인해보시는것을 추천드립니다.
-
항해자™
2014.09.20 13:36
생각나는 대로 막 적다보니 단지 괄호 위치랑 콤마를 잘 못 찍어서 오류 난거에요;;ㅎㄷㄷ
;with cteTempRows as (
select top (datediff(month,@pStartDate,@pFinishDate)
, row_number() over(order by (select 1)) - 1 as cRows
from syscolumns as a
cross join
syscolumns as b
cross join
syscolumns as c