RESTful API를 설계하기 위해, 프로젝트를 위한 쿼리를 설계하는 도중에 금일 만들어진 특정 시간대 만들어진 데이터의 조회를 필요하게 되었습니다.
예를 들어, 금일 만들어진 데이터를 0시부터 4시까지의 데이터를 조회를 했어야 했습니다.
이를 위해, 적용한 단계는 세 가지 단계입니다.
1. curdate()를 이용하여 오늘 날짜 데이터 조회하기
select curdate()
curdate()를 이용하면 조회할려고 하는 날짜가 2019-05-15
즉 yyyy-MM-dd 형태로 조회하게 됩니다.
2. between을 사용하기
SELECT * FROM [테이블명] WHERE [칼럼명] BETWEEN [조건1] AND [조건2] -- BETWEEN
BETWEEN [조건1] AND [조건2] 의 의미는 조건1과 조건2를 포함한(inclusive) 그 사이의 모든 값에 해당하는지 여부를 조건으로 하게 됩니다.
쉽게 말해서, ~어디서 부터 ~어디까지의 데이터를 출력하고 싶은 경우 사용하면 됩니다.
3. concat() 을 이용하여 특정 조건을 붙인다!
앞서 실행한 1번 과정을 실행하여 오늘 날짜를 추츨한다음에 시간을 붙이면 됩니다!
select [조회할 컬럼명]
from [테이블명]
where [조건] between concat(curdate(), ' 00:00:00') and concat(curdate(), ' 04:00:00');
위의 예시처럼 실행하게 되면, 특정 조건의 00:00:00 시간과 04:00:00를 조회하게 됩니다!
'Back-end > DB' 카테고리의 다른 글
[MySQL] 데이터 정렬하기 - ORDER BY (0) | 2021.05.24 |
---|---|
[MySQL] LIMIT, OFFSET - 페이징시 쿼리 (0) | 2021.05.21 |
[MySQL] DISTINCT - 행의 중복 출력 방지하기 (0) | 2021.05.21 |
[MySQL] MySQL 이벤트스케줄러 생성 (Event Scheduler) (0) | 2021.03.05 |
[MySQL] ON UPDATE CURRENT_TIMESTAMP 생성 방법 (0) | 2021.03.04 |
댓글