'달력'에 해당되는 글 1건

반응형

[테이블 생성]

table name : calendar

calendar_seq(int) 
date(varchar)
day(varchar)

[yyyymmdd, 요일의 데이터 삽입]
(날짜에 대한 데이터 삽입 공간을 위해서 의미없는 조인과 함께 공간은 만든 후, between 을 통한 날짜를 넣는다.)

INSERT INTO calendar

(calendar_seq, date, day) 

select rnum as calendar_seq,

       date_format((date_add('20050101', interval rnum - 1 day)),'%Y%m%d') as date, 

       dayname(date_format((date_add('20050101', interval rnum - 1 day)),'%Y%m%d')) as day

  from (

        select @rnum := @rnum + 1 as rnum

          from (

                select @rnum := 0 

               ) a, 아무개 table , 아무개 table, 아무개 table  
       ) c

 where date_format((date_add('20050101', interval rnum - 1 day)),'%Y%m%d') between '20100101' and '20151231';


[select 달력 뷰] 

 

             select max(if(a.day = 'sunday', date_format(a.date, '%d'), '')) as 일, 

                      max(if(a.day = 'monday', date_format(a.date, '%d'), '')) as 월,

                      max(if(a.day = 'tuesday', date_format(a.date, '%d'), '')) as 화,

                      max(if(a.day = 'wednesday', date_format(a.date, '%d'), '')) as 수,

                      max(if(a.day = 'thursday', date_format(a.date, '%d'), '')) as 목,

                      max(if(a.day = 'friday', date_format(a.date, '%d'), '')) as 금,

                      max(if(a.day = 'saturday', date_format(a.date, '%d'), '')) as 토

               from calendar a

             where a.date like '201103%'

              group by WEEK(a.date,0)

#  실무에 적용 해본바는 없고 -효용성에 대해서도 잘 모르지만-
   회사에서 내준 숙제(?)이기에 만들어진 SQL 야매 달력뷰


 

반응형
블로그 이미지

Runer

IT / 일상 / 먹방 / 꿀팁 / 유틸

,