데이터베이스에 있는 날짜 데이터를 수정하거나 날짜 사이의 값을 비교하는 등의 명령어가 필요하여 알아보았다. 몇 가지만 적고 찾을 때마다 적어 나갈 예정이다.
DATEDIFF( 날짜1, 날짜2 )
날짜1과 날짜2를 일수로 변환하여 차이를 계산해 준다.
TIMESTAMPDIFF( 단위, 날짜1, 날짜2 )
날짜1과 날짜2의 차이를 선택한 단위로 변환하여 계산해준다.
TIMESTAMPDIFF 단위
기호 | 단위 | 기호 | 단위 |
---|---|---|---|
SECOND | 초 | WEEK | 주 |
MINUTE | 분 | MONTH | 월 |
HOUR | 시 | QUARTER | 분기 |
DAY | 일 | YEAR | 년 |
주의할 점은 DATEDIFF는 앞의 날짜에서 뒤의 날짜의 차를 구하는것이고 TIMESTAMPDIFF는 뒤의 날짜에서 앞의 날짜의 차를 구하는 방식이라는 것이다.
DATE_FORMAT( 날짜, 'FORMAT' )
날짜를 해당 포맷으로 변환해준다.
구분기호 | 출력 | 구분기호 | 출력 |
---|---|---|---|
%M | 긴 월(영문) | %c | 숫자 월 (한자리는 한자리로) |
%b | 짧은 월(영문) | %d | 일자 (두자리) |
%W | 긴 요일 이름(영문) | %e | 일자 (한자리는 한자리) |
%a | 짧은 요일 이름(영문) | %h | 시간 (12시간) |
%i | 분 | %H | 시간 (24시간) |
%T | hh:mm:ss | %r | hh:mm:ss AM,PM |
%m | 숫자 월 (두자리) | %S | 초 |
%D | 월(1st,2dn) | %Y | 연도(4자리) |
%y | 연도(끝에 두자리) | %l(엘) | 시간 (12시간)(한자리) |
%I(아이) | 시간 (12시간)(두자리) | %p | AM, PM |
%k | 시간 (24시간)(한자리) |
FORMAT 형식 더 알아보기
%Y-%m-%d 같이 쓰면 2023-08-04 같이 쓸 수 있다.
! DATE_FORMAT의 으로 변환하면 문자열로서 취급되는 것으므로 비교나 정렬 시 주의가 필요하다!
참고 글
참고 문제
DATE_FORMAT과는 반대로 특정 포맷의 데이터를 날짜, 시간 데이터로 변환할 때 사용한다.
STR_TO_DATE( ' 문자열 ' , ' 형식 ' )으로 변환 가능하다.
( 수정 중 )