반응형

MySQL에서 설정된 사용기간에 따라서 데이터를 조회하는 방법입니다.

 

1. 사용기간 설정을 위해 아래와 같이 사용시작일과 사용종료일 칼럼을 만듭니다.

ALTER TABLE TABLE
ADD (
  use_start_dt DATETIME,
  use_end_dt   DATETIME
)
;

 

2. 사용기간 칼럼으로 데이터를 조회해야 함으로 인덱스를 생성합니다.

CREATE INDEX TABLE_idx_01 
ON TABLE (use_start_dt, use_end_dt);

SHOW INDEX FROM TABLE;

3. 데이터 저장 방법 (2019년 기준)

 - A라는 데이터를 2019년까지만 사용하고 A-1을 2020년으로 사용하게 할 경우
 - A와 A-1 2개의 데이터를 만들고,
 - A의 사용 종료시간은 '2019-12-31 23:59:59'
 - A-1의 사용시간은 '2020-01-01' 종료시간은 '9999-12-31 23:59:59'으로 합니다.
 - 그럼 2020년이 되었을 때 자동으로 A는 조회가 안되고 A-1만 조회가 되게 됩니다.

 1) 계속 사용
  use_start_dt : '2019-01-01'
  use_end_dt : '9999-12-31 23:59:59'
 2) 2019년에만 사용
  use_start_dt : '2019-01-01'
  use_end_dt : '2019-12-31 23:59:59'
 3) 2020년부터 사용
  use_start_dt : '2020-01-01'
  use_end_dt : '9999-12-31 23:59:59'

 

4. 데이터 조회 방법

- 현재 날짜를 상수로 하여 BETWEEN 뒤로 칼럼을 두어 조회를 합니다.

SELECT * FROM TABLE
 WHERE NOW() BETWEEN use_start_dt AND use_end_dt

 

MySQL 설정된 사용기간에 따라서 데이터 조회하는 방법

반응형

+ Recent posts