BLOG ARTICLE date 컬럼 계산하기 | 1 ARTICLE FOUND

  1. 2011.10.08 [MySQL] date형 컬럼에 대한 날짜 및 시간 계산해서 결과 얻기


DB에 저장되어있는 컬럼 중에 DATE 타입에 대한 연산이 필요할 때가 있다.

예를 들어 지금시간으로부터 12시간안의 모든 레코드를 필요로 한다던지,

지금시간으로부터 12시간 이전의 자료를 모두 삭제한다던지 할때 DATE 형이 시간이 기록되어 있다면

시간까지 연산가능하고, 만약 시간이 기록되지 않은 DATE 타입이면 날짜연산만 가능하다. 




UPDATE sample SET state = 'done' WHERE date < DATE_ADD(now(), INTERVAL -6 hour)

 ↑ 해석 : sample 테이블의 date 컬럼의 시간이

             현재(now()) 시간으로부터 6시간전의 시간을 기준으로 그 이전시간 레코드의
             state 컬럼을 'done'으로 다 입력한다. 




DATE_ADD(now(), INTERVAL -6 hour)

↑ 이 문장에서 hour 대신에 year, day, minute, second 로 바꿀 수 있다.

맨위 코드에서 '<' 를 '>' 로 바꾸게되면

6시간전을 기준으로 이전레코드가 아니라, 현재시간으로부터 6시간내의 자료만 가져올 것이다.


헷갈린다면 한번 해보면 확실할 것.

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST