MYSQL
mysql 날짜 비교 현재 일자 보다 작은 데이터 select query
단모모
2023. 12. 20. 16:14
728x90
현재 일자 보다 시간단위로 시간 분 까지 체크해서 작은 데이터를 모두 셀렉트 하는 쿼리문
SELECT *,
LEFT(SO.sv_time, 2) AS sv_time_hours,
RIGHT(SO.sv_time, 2) AS sv_time_minutes
FROM shop_order SO
WHERE 1=1
AND SO.ci_gubun = 'CS001'
AND SO.ord_status > 'OR10'
AND SO.ci_maching_state='MS10'
AND CONCAT(SO.sv_start_date, ' ', LEFT(SO.sv_time, 2), ':', RIGHT(SO.sv_time, 2)) < NOW();
1000 으로 sv_time 에 데이터가 있다면 left 와 right 함수로 잘라서 가운데는 : 로 붙여서 날짜 타입으로 concat 로 문자열을 합쳐서 now 함수와 비교하면 조회 된다.
만약 어제 일자 까지로 조회 하고 싶다면 CURDATE() - INTERVAL 1 DAY
SELECT * FROM shop_order SO
WHERE 1=1
AND SO.ci_gubun = 'CS001'
AND SO.ord_status > 'OR10'
AND SO.ci_maching_state='MS10'
AND sv_start_date < CURDATE() - INTERVAL 1 DAY;
로 현재 일자에서 마이너스 1 day 를 해서 어제 일자 보다 작은 일자를 모두 찾는다.
728x90