[MSSQL] 날짜,시간 데이터 생성하기



날짜나 시간단위의 데이터가 로우로 들어 오는 경우


간혹 데이터 자체가 누락 되는 경우가 있다


시간 순서대로 보여줘야 하는데 데이터 누락으로 로우가 없어 데이터가 땡겨져버리는 경우가 있기 때문에


그런종류의 데이터는 별도로 시간이나 날짜 로우를 만들어 낸 후 거기에 끼워 맞추는 식으로 가져 온다.



oracle을 사용할때는 별 문제 없이 만들었는데


mssql에서는 날짜나 시간을 만들어 내는 쿼리를 몰라 한참을 해매다 알아낸 방법이다


1. 날짜+시간 단위 생성 방법


1
2
3
4
5
6
7
8
9
10
11
12
13
DECLARE @start_date DATETIME = '2018-07-12 00:00:00.000'-- 시작시간
DECLARE @end_date DATETIME = '2018-07-13 00:00:00.000'-- 
 
WITH    AllDays
          AS ( SELECT   @start_date AS [Date], 1 AS [level]
               UNION ALL
               SELECT   DATEADD(hour, 1, [Date]), [level] + 1
               FROM     AllDays
               WHERE    [Date] < @end_date )
 
 
     SELECT [Date], [level]
     FROM   AllDays OPTION (MAXRECURSION 0)
cs



1-1 결과값






위와 같이 쿼리를 짜주게 되면 해당 범위만큼의 날짜,시간을 생성해 준다



2. 날짜단위 생성방법


1
2
3
4
5
6
7
8
DECLARE @Date1 DATE, @Date2 DATE
SET @Date1 = '20150430'
SET @Date2 = '20150601'
 
SELECT DATEADD(DAY,number+1,@Date1) [Date]
FROM master..spt_values
WHERE type = 'P'
AND DATEADD(DAY,number+1,@Date1) < @Date2
cs


2-1 결과값






이런 결과를 얻어낼 수 있다.



와...


그런데 이거 포스팅하다가 실제로 프로젝트에 써야 하는 쿼리 실수로 날려먹음...



다시 짜야 되는데 스트레스 엄청받는다.


자바스크립트로 YYYYMMDD 형식의 이번년도 달 일 구하는 방법



진짜 쉽지만 만들대마다 귀찮은 코드.


날짜형식은 20160227 이나 2016-02-17 같은 텍스트로 만드는 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
/*날짜 구하기*/
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth()+1
    var day = date.getDate();
    if(month < 10){
        month = "0"+month;
    }
    if(day < 10){
        day = "0"+day;
    }
 
    var today = year+""+month+""+day;
cs


큰따옴표 안에 '-' 라든지 '/' 같은걸 넣어도 된다.


getMonth안에 +1을 하는 것은 데이트로 월정보를 가져오면


월이 0부터 시작하기 때문이다.

리니지2 레볼루션의 혈맹을 만들고 포상하기 혈맹원초대 하는 방법



리니지 하면 빠질수가 없는게 혈맹 시스템 입니다. 


현재 레벨1 혈맹은 혈맹원을 15명 받을 수 있고 


레벨 3가 되면 20명을 받을수 있는데요


아래 표를 보시면 더 잘 이해할 수 있습니다.


혈맹 레벨

1레벨 

3레벨 

7레벨 

12레벨 

20레벨 

22레벨 

27레벨 

30벨 

군주 

 1

1 

1 

1 

1 

1 

1 

1 

부군주 

0 

1 

1 

1 

1 

1 

1 

1 

근위대장 

0 

0 

1 

1 

1 

1 

1 

1 

기사단장 

0 

0 

0 

1 

1 

1 

1 

1 

혈맹원 

14 

18 

22 

26 

31 

36 

41 

46 

총 인원 

15 

20 

25 

30 

35 

40 

45 

50 



혈맹의 레벨이 오르기 위해선 혈원들이 기부하기를 통해 아데나, 피의증거, 붉은스톤을 기부 해서 형맹경험치가 올라가면


혈맹레벨이 올라 가게 됩니다.




1. 혈맹 만들기



우선 혈맹을 만들기 위해선 5만 아데나가 필요하구요



<메뉴 화면에서 혈맹을 터치 하면 나오는 화면에서 혈맹 창설을 터치>



<혈맹 창설을 위해선 5만아데나가 필요하며 문장을 선택할 수 있다>



<문장의 테두리도 선택>



<혈맹을 만들고 나면 군주의 초기 화면>


<이제 혈맹원을 모집해야 하는데 우측 하단 혈맹초대를 누르자>


<친구목록이나 닉네임 검색을 통해서 초대를 할 수가 있다>






2. 혈맹 홍보


혈맹을 홍보하는 방법은 공식카페에서 혈원모집글을 올리거나 혈맹홍보버튼을 터치해서

홍보창에 혈맹홍보를 띄우는 방법이 있고 저처럼 이런 개인블로그에 홍보글을 올릴 수도 있지요


★★★글루디오 02서버★★★ ->KILL<- 혈맹에서 혈원 모집중입니다. 레벨 30이상 꾸준히 접속하시고 인사 잘하고

기부도 잘하시는분 모집해요! 힐러 대환영! ★★★★★★★★★20대 이상으로 모집합니다.★★★★★★

비슷한 순위에 있는 killer혈맹과는 다른 혈맹이니 햇갈리지 마세요! KILL혈맹은 군주의 이름이 killer입니다! 

killer 혈맹말고 KILL 혈맹으로 신청 넣어주세요!




게임 내에서 혈맹홍보는 군주만이 가능하며 초기화면에서



혈맹홍보버튼을 터치하기만 하면 자동으로 홍보글이 올라가며 약 13초 정도의 쿨타임이 있다.


문장변경은 100루비를 사용해서 혈맹문장을 바꿀 수 있는 기능이다



3. 포상하기

혈맹창고 버튼을 누르면 현재 혈맹이 보유하고 있는 아이템을 볼 수가 있는데

혈맹 업적을 클리어 할때마다 혈맹보유 아이템을 보상을 받게 된다.


이 아이템을 혈맹원들에게 나눠줄 수 있는데


아이템을 터치한 후 사용 버튼을 누르면


혈맹원에서 포상을 할 수가 있고 누구에게 포상을 할것인지


아니면 균등하게 분배할 것인지를 선택 할 수가 있다.


나는 기여도가 가장 높은 혈원에게 좋은 아이템을 순서대로 주고 있다.


★★★★★★글루디오 02서버 공정하게 분배하는 KILL 혈맹으로 오세요★★★★★★★


그런데 혈맹원들이 활동을 잘 안해서 기여도가 제일 높은 나랑 다른 혈맹원 한분한테 좋은 아이템 포상하고


나머지 사람들은 고급재료나 정령탄을 지급해 줬다....



아 깜빡하고 안적은게 있는데 혈맹상점에서 파는 버프


기부받은 피의증거를 사용해 버프의 레벨을 상승시킬 수 있습니다.





척살이나 아지트 같은 경우는 아직 미구현된 기능임 


일단 3레벨까지좀 올렸으면 좋겠다



혈맹관련 정보는 여기까지였습니다. 저도 아직 초보군주이기 때문에 


차후 더 많은 정보를 알게되면 포스팅 하겠습니다.







2016/12/27 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 1월 6일 요새전 오픈

2016/12/26 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 녹스 튕김현상 해결방법

2016/12/23 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 크리스마스 이벤트

2016/12/23 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 탄력의 효과는 무엇인가 [답변]

2016/12/22 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 시체렉 해결 방법

2016/12/22 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 혈맹 만들기, 포상, 혈원초대

2016/12/22 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 합성, 승급, 강화, 집혼석, 승급석, 주문서 관련한 정보

2016/12/20 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 집혼석 싸게 제거,추출 하기 개꿀팁

2016/12/20 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 아데나 모으기, 노가다 방법

2016/12/18 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 글자 이벤트 획득경로 및 보상 정보

2016/12/16 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 무한뽑기 버그 발생

2016/12/16 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 피의증거 노가다

2016/12/16 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 31렙 전직퀘스트 공략

2016/12/16 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 초반 퀘스트 보스몹 잡기 팁

2016/12/16 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 레벨업 공략, 레벨업 막힐때 팁

2016/12/15 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 비정상적인 동작으로 인하여 팝업 튕김현상

2016/12/15 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] 무과금러 공략&소소한 팁

2016/12/15 - [Yame Game Life/Lineage2 revolution] - [리니지2 레볼루션] security detection 해결방법


+ Recent posts