현재 버전

날짜_테이블 날짜테이블 테이블 mysql 만들기 날짜

날짜 테이블 만들기 (MYSQL)




날짜 테이블 만들기.


날짜 테이블 이야기가 없는 것 같아서... 적어봄니다.


create table t (n int);

insert into t values (1);

// 입력할 년도의 날짜 수만큼 행을 생성한다.  13번 반복시 대략 10년치 어차피 지울 테이블이라 적당히 처리
insert into t select * from t

2. 날짜테이블 생성

create table date_t (d date, ds char(8), `week` CHAR(8),`week_y` CHAR(8), `week_yw` CHAR(8)
, PRIMARY KEY(d)); 
create table date_t (d date, ds char(8)); 

-- weekday, 월요일 0 ~ 일요일 6.
-- week(date,first). 몇번째 주인지 계산. 0~52. first가 1일 경우, 월요일을 한주의 시작으로 계산. 
insert into date_t
select d, date_format(d, '%Y%m%d'),case weekday(d)
when '0' then '월요일'
when '1' then '화요일'
when '2' then '수요일'
when '3' then '목요일'
when '4' then '금요일'
when '5' then '토요일'
when '6' then '일요일'
end
,WEEK(d,1),
CONCAT(DATE_FORMAT(d,'%Y'),'-W',lpad(WEEK(d,1),'2','0'))
 from (
  select @rnum:=@rnum+1 as rownum, date(adddate('2021-01-01', interval @rnum day)) as d
  from (select @rnum:=-1) r, t
  ) t
where year(d) < 2024; 



너무 대충 적었나.. 위에 SQL을 실행해본다면... 알 수 있을 거예요.


2021-W01 

위의 형식은, input type가 week인 경우, 출력되는 형식입니다. 주별로 계산할 수 있죠.

오늘 검색도 해보면서, 날짜 테이블을 만들었습니다.


공부해보세요~.


좋은 하루되세요~.









수정 이력

2021-06-26 02:48:14 에 아래 내용에서 변경 됨 #1



날짜 테이블 만들기.


날짜 테이블 이야기가 없는 것 같아서... 적어봄니다.


create table t (n int);

insert into t values (1);

// 입력할 년도의 날짜 수만큼 행을 생성한다.  13번 반복시 대략 10년치 어차피 지울 테이블이라 적당히 처리
insert into t select * from t

2. 날짜테이블 생성

create table date_t (d date, ds char(8), `week` CHAR(8),`week_y` CHAR(8), `week_yw` CHAR(8)
, PRIMARY KEY(d)); 
create table date_t (d date, ds char(8)); 

-- weekday, 월요일 0 ~ 일요일 6.
-- week(date,first). 몇번째 주인지 계산. 0~52. first가 1일 경우, 월요일을 한주의 시작으로 계산. 
insert into date_t
select d, date_format(d, '%Y%m%d'),case weekday(d)
when '0' then '월요일'
when '1' then '화요일'
when '2' then '수요일'
when '3' then '목요일'
when '4' then '금요일'
when '5' then '토요일'
when '6' then '일요일'
end
,WEEK(d,1),
CONCAT(DATE_FORMAT(d,'%Y'),'-W',lpad(WEEK(d,1),'2','0'))
 from (
  select @rnum:=@rnum+1 as rownum, date(adddate('2021-01-01', interval @rnum day)) as d
  from (select @rnum:=-1) r, t
  ) t
where year(d) < 2024; 



너무 대충 적었나.. 위에 SQL을 실행해본다면... 알 수 있을 거예요.


2021-W01 

위의 형식은, input type가 week인 경우, 출력되는 형식입니다. 주별로 계산할 수 있죠.

오늘 검색도 해보면서, 날짜 테이블을 만들었습니다.


좋은 하루되세요~.