DEV&OPS/Database
MYSQL 날짜 비교
ALEPH.GEM
2021. 10. 7. 15:01
MYSQL 에서 VARCHAR 형식으로 데이터는 YYYY-MM-DD 같이 저장되어 있을 때 비교 연산자를 사용하면 오류가 생길 수 있습니다.
그럴 때 필요한 함수가 DATE_FORMAT() 과 STR_TO_DATE() 입니다.
1. 컬럼이 VARCHAR 형식일 때
SELECT * FROM TBL_BOARD WHERE DATE <= DATE_FORMAT(NOW(), '%Y-%m-%d');
2. 컬럼이 DATE 형식일 때
SELECT * FROM TBL_BOARD WHERE DATE <= STR_TO_DATE(NOW(), '%Y-%m-%d');
오늘 기준으로 하루, 일주일, 한달 전 구하기
-- 오늘 기준 하루 전
DATE_ADD(NOW(),INTERVAL -1 DAY )
-- 오늘 기준 일주일 전
DATE_ADD(NOW(),INTERVAL -1 WEEK )
-- 오늘 기준 한달 전
DATE_ADD(NOW(),INTERVAL -1 MONTH )
728x90