SQL
MySQL between 날짜 조회
초코비니
2016. 6. 19. 12:25
에구야 -ㅅ-;
잠깐 제가 어제 만든 앱에 접속자가 몇명인지 뽑고 싶어서 잠깐 쿼리문을 치다가 함수가 기억 안나는겁니다.
그래서 검색을 해봤는대...
뭐 정답아닌 정답을 써주신 글이 보이더군요.
일단 작성한 분의 글을 읽어보니
select * from test where date_format(test_date,'%Y-%m-%d') between '2016-06-18' and '2016-06-19';
였습니다.
뭐 원하는 결과값을 뽑아 낼 수는 있습니다.
근대 where 조건절에 date_format을 사용하는건 바람직하지 않죠.
이유를 설명하겠습니다.
test 테이블에 데이터가 1000건이 있습니다.
위 쿼리는 1000개의 데이터를 date_format 함수로 변경을 하고 조회를 하게되는거죠.
바람직하지 않습니다.
대신 뒤의 between 부분에 date_format을 사용한다면 2개의 문자열만 변환을 거치게 되겠죠.
select * from test where test_date between date_format('20160618','%Y%m%d') and date_format('20160619','%Y%m%d');
이러한 형식으로 말이죠.
데이터 건수가 많아지면 첫번째 쿼리는 속도의 문제가 생기게됩니다.
그래서 저는 항상 후자 방식의 쿼리문으로 사용하고 있습니다.
참고하세요.