해당 글에서는 MySQL에서 DATETIME 타입을 DATE 타입으로 변환하는 방법에 대해 알아봅니다.
💡 [참고] 해당 문제를 참고하여 해당 변환방법을 확인하실 수 있습니다.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1) DATE
💡 DATE() 함수
- 날짜 형식의 데이터에서 날짜 부분만 추출하는 함수입니다. 이를 통해 날짜 형식의 데이터에서 연월일 정보만 가져올 수 있습니다.
MySQL DATE() Function
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
💡 아래의 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자리 숫자로 표시된 연도 |
MySQL DATE_FORMAT() Function
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
💡 아래의 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 |