mysql 의 날짜 함수 date_format().
아래는 date_format() 함수에서 사용하는 값이다.
FORAMT | 설명 |
%M | 월(Janeary, December, ...) |
%W | 요일(Sunday, Monday, ...) |
%D | 월(1st, 2dn, 3rd, ...) |
%Y | 연도(1987, 2000, 2013) |
%y | 연도(87, 00, 13) |
%X | 연도(1987, 2000) %V와 같이 쓰임. |
%x | 연도(1987, 2000) %v와 같이 쓰임. |
%a | 요일(Sun, Tue, ...) |
%d | 일(00, 01, 02, ...) |
%e | 일(0, 1, 2, ...) |
%c | 월(1, 2, ..., 12) |
%b | 월(Jan, Dec, ...) |
%j | 몇번째 일(120, 365) |
%H | 시(00, 01, 02, 13, 24) |
%h | 시(01, 02, 12) |
%I(대문자 아이) | 시(01, 02, 12) |
%l(소문자 엘) | 시(1, 2, 12) |
%i | 분(00, 01, 30) |
%r | "hh:mm:ss AM|PM" |
%T | "hh:mm:ss" |
%S | 초 |
%s | 초 |
%p | AM, PM |
%w | 요일(0, 1, 2) 0:일요일 |
%U | 주(시작:일요일) |
%u | 주(시작:월요일) |
%V | 주(시작:일요일) |
%v | 주(시작:월요일) |
Example
The following script uses the DATE_FORMAT() function to display different formats. We will use the NOW() function to get the current date/time:
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
The result would look something like this:
날짜 검색을 할때 조건절에 함수를 쓰면 인덱스를 타지 않는다.
예)
where date_format(regdate,'%Y-%m-%d') = '2013-10-16'
아래와 같이 변경하여 인덱스를 타도록 하면 검색 속도를 높일 수 있겠다.
where 검색컬럼 > '2000-01-01 00:00:00' and 검색컬럼 < '2000-01-01 23:59:59' where 검색컬럼 between '시작날짜시간' and '종료날짜'
1, 2 번 아무거나 써도 무방하다.
date_format() 함수는 조건절 보다 select 절에 쓰면 좋을 듯 하다.
SELECT DATE_FORMAT(regdate,'%Y-%m') FROM temp WHERE regdate BETWEEN '2011-04-27' AND '2011-04-28'
'Mysql,MariaDB' 카테고리의 다른 글
[MariaDB] warningThis file should not be included by clients, include only <mysql.h> (1) | 2019.02.11 |
---|---|
Slow Query log (슬로우 쿼리 로그) (0) | 2019.02.08 |
시간차 계산하는 방법(mysql time) (0) | 2019.02.01 |
mysql에서 데이터 대량 삭제 (truncate) (0) | 2019.01.31 |
Mysql Alter Table 명령어 정리 (0) | 2019.01.31 |