에구야 -ㅅ-;


잠깐 제가 어제 만든 앱에 접속자가 몇명인지 뽑고 싶어서 잠깐 쿼리문을 치다가 함수가 기억 안나는겁니다.


그래서 검색을 해봤는대...


뭐 정답아닌 정답을 써주신 글이 보이더군요.


일단 작성한 분의 글을 읽어보니


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');


이러한 형식으로 말이죠.


데이터 건수가 많아지면 첫번째 쿼리는 속도의 문제가 생기게됩니다.


그래서 저는 항상 후자 방식의 쿼리문으로 사용하고 있습니다.


참고하세요.

'SQL' 카테고리의 다른 글

MySQL between 날짜 조회  (0) 2016.06.19
MySQL Int 자료형 사이즈  (0) 2015.11.21
mysql 만 나이 구하기  (0) 2015.09.12

매번 까먹고 다시 찾고를 반복해서


블로그에 기록 남긴다....


http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html


TypeStorageMinimum ValueMaximum Value
(Bytes)(Signed/Unsigned)(Signed/Unsigned)
TINYINT1-128127
0255
SMALLINT2-3276832767
065535
MEDIUMINT3-83886088388607
016777215
INT4-21474836482147483647
04294967295
BIGINT8-92233720368547758089223372036854775807
018446744073709551615



'SQL' 카테고리의 다른 글

MySQL between 날짜 조회  (0) 2016.06.19
MySQL Int 자료형 사이즈  (0) 2015.11.21
mysql 만 나이 구하기  (0) 2015.09.12

검색을 통해 -ㅅ-; 만나이 구하기 보면 참 길게도 쿼리를 만들었단 생각이 들어서


작성해봅니다.


sselect (TO_DAYS(now())-(TO_DAYS('1980-09-04')))/365;


이렇게 넣으면 만나이로 35.1234 이렇게 출력되며 소수점 뒤로 절삭 시키면 만나이가 됩니다. 



'SQL' 카테고리의 다른 글

MySQL between 날짜 조회  (0) 2016.06.19
MySQL Int 자료형 사이즈  (0) 2015.11.21
mysql 만 나이 구하기  (0) 2015.09.12

+ Recent posts

티스토리 툴바