반응형
해당 글에서는 MySQL에서 DATETIME 타입을 DATE 타입으로 변환하는 방법에 대해 알아봅니다.
💡 [참고] 해당 문제를 참고하여 해당 변환방법을 확인하실 수 있습니다.
1) DATE
💡 DATE() 함수
- 날짜 형식의 데이터에서 날짜 부분만 추출하는 함수입니다. 이를 통해 날짜 형식의 데이터에서 연월일 정보만 가져올 수 있습니다.
💡 아래의 SQL문은 동물 보호소(ANIMAL_INS) 테이블에서 DATETIME이라는 컬럼의 데이터를 DATE 타입으로 변환하는 예시입니다.
- DATE() 함수를 통해서 연월일의 데이터만 추출합니다. DATETIME을 변환하면 시간,분,초의 값은 00의 값을 갖습니다.
- 해당 값이 필요 없는 경우 DATE_FORMAT() 함수를 사용합니다.
SELECT t1.ANIMAL_ID
, t1.NAME
, DATE(t1.DATETIME) AS '날짜'
FROM ANIMAL_INS t1
ORDER BY t1.ANIMAL_ID ASC
2) DATE_FORMAT
💡 DATE_FORMAT
- 날짜 형식의 데이터를 원하는 형식으로 변환하는 함수입니다. 이 함수를 사용하면 날짜 형식의 데이터를 원하는 형식으로 표시할 수 있습니다.
💡 기본구조 인자
- date: 변환하고자 하는 날짜 형식의 데이터
- format : 원하는 날짜 형식
# 기본구조
DATE_FORMAT(date, format)
💡 [참고] format 형식
format | 설명 |
%a | 축약된 요일 이름 (일요일부터 토요일까지) |
%b | 축약된 월 이름 (1월부터 12월까지) |
%c | 숫자로 표시된 월 이름 (0부터 12까지) |
%D | 일(day)을 숫자로 표시하고 접미사를 붙임 (1일, 2일, 3일 등) |
%d | 일(day)을 숫자로 표시 (01부터 31까지) |
%e | 일(day)을 숫자로 표시 (0부터 31까지) |
%f | 마이크로초 (000000부터 999999까지) |
%H | 시간(hour) (00부터 23까지) |
%h | 시간(hour) (00부터 12까지) |
%I | 시간(hour) (00부터 12까지) |
%i | 분(minutes) (00부터 59까지) |
%j | 연(year)의 몇 번째 일(day)인지 (001부터 366까지) |
%k | 시간(hour) (0부터 23까지) |
%l | 시간(hour) (1부터 12까지) |
%M | 전체 월 이름 (1월부터 12월까지) |
%m | 숫자로 표시된 월 이름 (00부터 12까지) |
%p | 오전(AM) 또는 오후(PM) |
%r | 12시간 형식으로 표시된 시간 (hh:mm:ss 오전/오후) |
%S | 초(seconds) (00부터 59까지) |
%s | 초(seconds) (00부터 59까지) |
%T | 24시간 형식으로 표시된 시간 (hh:mm:ss) |
%U | 일요일을 한 주의 첫 번째로 하는 주차 (00부터 53까지) |
%u | 월요일을 한 주의 첫 번째로 하는 주차 (00부터 53까지) |
%V | 일요일을 한 주의 첫 번째로 하는 주차 (01부터 53까지). %X와 함께 사용됨 |
%v | 월요일을 한 주의 첫 번째로 하는 주차 (01부터 53까지). %x와 함께 사용됨 |
%W | 전체 요일 이름 (일요일부터 토요일까지) |
%w | 일요일=0, 토요일=6인 요일 |
%X | 일요일을 한 주의 첫 번째로 하는 주의 연도. %V와 함께 사용됨 |
%x | 월요일을 한 주의 첫 번째로 하는 주의 연도. %v와 함께 사용됨 |
%Y | 4자리 숫자로 표시된 연도 |
%y | 2자리 숫자로 표시된 연도 |
💡 아래의 SQL문은 동물 보호소(ANIMAL_INS) 테이블에서 DATETIME이라는 컬럼의 데이터를 지정된 형태의 DATE 타입으로 변환하는 SQL문입니다.
- DATE_FORMAT() 함수를 통해서 DATETIME 타입의 형태의 데이터를 '%Y-%m-%d' 형태로 변환하였습니다.
SELECT t1.ANIMAL_ID
, t1.NAME
, DATE_FORMAT(t1.DATETIME,'%Y-%m-%d') AS '날짜'
FROM ANIMAL_INS t1
ORDER BY t1.ANIMAL_ID ASC
오늘도 감사합니다. 😀
반응형
'DB > Short SQL문' 카테고리의 다른 글
[DB/Short] MySQL SQL Function : 랜덤 숫자 만들기 (0) | 2024.04.08 |
---|---|
[DB/Short] MySQL SQL Function : 문자열 내에 랜덤 문자열 추출하기 (0) | 2024.04.08 |
[DB/Short] MySQL SQL Function : 랜덤 문자, 랜덤 이름 만들기 (0) | 2024.04.08 |
[DB/Short] MySQL : 집계함수로 얻은 값을 조건절에서 사용하는 경우 -서브쿼리, HAVING (1) | 2023.10.05 |
[DB/Short] MySQL - 문자열 대소문자 구분/구분하지 않고 정렬하기 : BINARY (0) | 2023.10.04 |