반응형
< MySQL 날짜 데이터를 저장하는 데이터타입 (DATE, TIME, DATETIME) >
- 날짜 데이터 학습을 위해 새로운 테이블 생성
ㄴ Datatype이 중요함
# yhdb로 db 사용어 입력하고 테이블에 새로운 데이터 입력
use yhdb;
insert into people
(name, birthdate, birthtime, birthdt)
values
( 'Mike', '1990-11-11', '10:07:35', '1990-11-11 10:07:35'),
( 'Larry', '1980-12-25', '04:10:42', '1980-12-25 04:10:42');
# 데이터 타입이 DATE 일때만 사용가능한 함수
-- 년월일에서 날짜만 가져올때 day() 함수
select name, day(birthdate)
from people;
-- 월정보만 가져올때 month() 함수
select name, month(birthdate)
from people;
-- 년도만 가져올때 year() 함수
select name, year(birthdate)
from people;
-- 요일을 문자열로 가져올떄 day name() 함수
select name, dayname(birthdate)
from people;
-- 요일을 숫자로 가져올때 day of week() 함수
select name, dayofweek(birthdate)
from people;
# 데이터 타입이 TIME 일때만 사용가능한 함수
-- 데이터 타입이 TIME 일때만 사용가능한 함수
-- 시간도 각각 처리하는 함수가 있다.
select name, hour(birthtime), minute(birthtime), second(birthtime)
from people;
# 즉, 데이터 타입이 DATETIME 일경우엔 모든 함수 사용 가능
-- 즉, 데이터 타입이 DATETIME 일때는 date와 time 형식을 모두 가지고 있기 때문에 위에 두가지 형식의 함수를 모두 사용 가능
select name, year(birthdt), hour(birthdt)
from people;
# 문자열로 보고싶을때
-- db에 저장된 시간형식의 데이터를,
-- 사람이 보기 편한 문자열로 바꾸는 방법
-- 1990-11-11 10:07:35 => 1990년 11월 11일, 10시 7분 입니다.
-- date_format() 함수 but, 실무에서 많이 사용하진 않는다.
-- 서비스는 보통 글로벌로 타겟을 하기 때문에, 각나라별로 시차가 있다보니 UTC(글로벌 표준시)를 기준으로 시간을 저장하는게 보편적.
select name, date_format( birthdt , '%Y년 %m월 %d일, %H시 %i분 입니다.' )
from people;
다음 게시글로 계속~!
728x90
반응형
'DATABASE > MySQL Workbench' 카테고리의 다른 글
MySQL Workbench : 실시간 날짜 데이터 적용 TIMESTAMP (now() on update now()) (0) | 2024.05.16 |
---|---|
MySQL Workbench : 날짜 데이터 관련 함수들 (now())과 부등호를 활용한 시간 차이 구하기 (interval) (0) | 2024.05.16 |
MySQL Workbench : group by 해서 만들어진 컬럼을 이용해서, case 문 만들때 조심해야할 사항 (컬럼 이름 사용법 설명) (0) | 2024.05.15 |
MySQL Workbench : ifnull 함수 사용법 (0) | 2024.05.15 |
MySQL Workbench : if 함수 사용법 (0) | 2024.05.15 |