2024.01.04(목)
Syntax | Return |
---|---|
DATEDIFF(date1, date2) | (date1 – date2) [days] |
DATE_ADD(date, INTERVAL expr unit) | expr에 “-”를 붙여 음수 덧셈도 가능 [unit] |
DATE_SUB(date, INTERVAL expr unit) | DATE_ADD와 동일 [unit] |
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) | (datetime_expr2 - datetime_expr1) [unit] |
Unit | Description |
---|---|
MICROSECOND | Microseconds |
SECOND | Seconds |
MINUTE | Minutes |
HOUR | Hours |
DAY | Days |
WEEK | Weeks |
MONTH | Months |
QUARTER | Quarters |
YEAR | Years |
SECOND_MICROSECOND | Seconds.Microseconds |
MINUTE_MICROSECOND | Minutes.Seconds.Microseconds |
MINUTE_SECOND | Minutes.Seconds |
HOUR_MICROSECOND | Hours.Minutes.Seconds.Microseconds |
HOUR_SECOND | Hours.Minutes.Seconds |
HOUR_MINUTE | Hours.Minutes |
DAY_MICROSECOND | Days Hours.Minutes.Seconds.Microseconds |
DAY_SECOND | Days Hours.Minutes.Seconds |
DAY_MINUTE | Days Hours.Minutes |
DAY_HOUR | Days Hours |
YEAR_MONTH | Years-Months |
SELECT * FROM books WHERE DATEDIFF(DAY, published_date, NOW()) <= 30;
SELECT * FROM books WHERE DATEDIFF(NOW(), published_date) <= 30;
SELECT * FROM books WHERE DATE_ADD(published_date, INTERVAL 1 MONTH) >= NOW();
SELECT * FROM books WHERE DATE_SUB(NOW(), INTERVAL 1 MONTH) <= published_date;
SELECT * FROM books WHERE published_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW();
LIMIT offset, row_count
LIMIT row_count OFFSET offset
변수 | 의미 |
---|---|
limit | page 당 row 수 |
page | page 번호 |
offset | 시작할 row index (0부터 시작) |
offset과 limit은 offset+limit만큼 data를 불러온 후 그 결과에서 limit만큼만 보여주도록 되어 있어 data의 양이 많아지면 비효율적이게 된다.
👉 DB 페이지네이션을 최적화하는 여러 방법들에 정리가 잘 되어 있다.
오늘 팀 멘토링 때 branch를 따로 파서 PR을 만들어 피어 리뷰를 해보라는 조언을 받았다. 그 동안 바로 main branch에 push를 했었는데 확실히 PR을 만들면 조원들끼리 서로 리뷰하기도 좋을 것 같다. 오늘 그래서 수업 내용에 개인적으로 추가하고 싶었던 기능을 새로운 branch를 파서 구현하고 main에 PR해보았다!