DATE_ADD(기준 일자, INTERVAL ~ )
SELECT DATE_ADD("2024-02-01", INTERVAL 1 MONTH);
-- 1달을 더한다(MONTH로만 1을 증가시킨다.)
-- 결과 : "2024-03-01"
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);
-- NOW()를 통해 현재 시간을 기준으로도 적용할 수 있다.
-- 결과 : "2024-02-04" (2024년 1월 4일 기준)
DATE_SUB(기준 일자, INTERVAL ~ )
SELECT DATE_ADD("2024-02-01", INTERVAL 1 MONTH);
-- 1달을 더한다(MONTH로만 1을 감소시킨다.)
-- 결과 : "2024-01-01"
BETWEEN을 이용하면 시간의 범위를 지정해 그 사이의 값들 만을 출력해줄 수 있다.
ex)
SELECT * FROM books WHERE pub_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW()
Paging(페이징) : 데이터베이스에서 읽어와 화면에 출력할 때 한꺼번에 모든 데이터를 가져오지 않고, 출력될 페이지의 데이터만 나눠서 가져오는 것을 페이징(Paging)이라고 한다.
SELECT * FROM books LIMIT 3 OFFSET 0;
0~3번째 컬럼을 출력해준다.
SELECT * FROM books LIMIT 3 OFFSET 3;
4~6번째 컬럼을 출력해준다.
다음과 같은 방법을 사용하면, 한페이지에 3개씩 출력해줄 수 있다.
SELECT * FROM books LIMIT 8, 4;
다음과 같은 방식이면, LIMIT과 OFFSET을 한번에 적용할 수 도 있다. (9~12번째 컬럼출력)
오늘의 소감
오늘은 MySQL에서의 Join부분도 다루고, DATE의 합, 차를 구하고, LIMIT, OFFSET을 이용해 신간인지 아닌지를 프로젝트에 적용해봤다. 점점 기능이 하나하나 많아지는게 레고를 완성하는 기분도 들고 재밌어진다. 이 프로젝트를 완성하고 나면, 다른 프로젝트는 스스로 만들수 있도록 열심히 공부해야겠다.