드레:
코딩 뿌시기
드레:
전체 방문자
오늘
어제
  • 분류 전체보기 (268)
    • Python (74)
      • Python 기초 (42)
      • Numpy (8)
      • Pandas (22)
    • Machine Learning (31)
      • Machine Learning (1)
      • Deep Learning (27)
    • AWS (22)
      • RDS (3)
      • EC2 (9)
      • Lambda (8)
      • S3 (2)
    • MySQL (24)
    • Git (8)
    • Streamlit (12)
    • REST API (22)
    • Java (24)
    • Android (36)
    • Debugging (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • EC2
  • volley
  • tensorflow
  • CNN
  • Java
  • 서버리스
  • aws s3
  • 액션바
  • 안드로이드 스튜디오
  • 네이버 API
  • AWS Lambda
  • Transfer Learning
  • GET
  • 깃이그노어
  • fine tuning
  • flask
  • Ann
  • serverless
  • Retrofit2
  • pandas
  • Lambda
  • rest api
  • AWS
  • 딥러닝
  • JWT
  • API
  • Callback
  • Streamlit
  • github
  • Python

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
드레:

코딩 뿌시기

MySQL 날짜, 시간 처리하기 - date, time, datetime
MySQL

MySQL 날짜, 시간 처리하기 - date, time, datetime

2022. 12. 8. 14:34

 

DATE 타입

날짜는 포함하지만 시간은 포함하지 않을 때 사용하는 타입.

YYYY-MM-DD 형식으로 입력한다. 1000-01-01 부터 9999-12-31 까지만 입력 가능하다.

 

TIME 타입

시간에 대한 정보를 담는 타입.

HH:MM:SS 형식으로 -838:59:59 ~ 838:59:59 까지 입력 가능하다.

 

DATETIME 타입

날짜와 시간을 모두 포함할 때 사용하는 타입.

YYYY-MM-DD HH:MM:SS 형식으로 1000-01-01 00:00:00 부터 9999-12-31 23:59:59 까지 가능하다.

 

TIMESTAMP 타입

날짜와 시간을 모두 포함한 타입.

TIMESTAMP는 시간을 1970년 1월 1일 0시부터 몇초가 지났는지 숫자로 표현한 것이다.

숫자이기 때문에 시간계산에 용이하다.

 

 

insert into people2 (name, birthdate, birthtime, birthdt)
values ('Mike', '1990-11-11', '10:07:35', '1990-11-11 10:07:35'),
	   ('Larry', '1972-12-25', '04:10:42', '1972-12-25 04:10:42');
       
select * from people2;

 

 

날짜, 시간에 관한 여러 함수들을 알아보자.

 

-- 날짜 정보만 가져오기
select day(birthdate)
from people2;

-- 요일 정보 가져오기(Sunday, Monday, ...)
select dayname(birthdate)
from people2;

-- 요일 정보 숫자로 가져오기(1, 2, ...) 1은 Sunday, 2는 Monday, ...
select dayofweek(birthdate)
from people2;

-- 몇 일인지 가져오기
select dayofmonth(birthdate)
from people2;

-- 몇 월인지 가져오기
select month(birthdate)
from people2;

-- 시, 분, 초 가져오기
select hour(birthtime), minute(birthtime), second(birthtime)
from people2;

 

-- DB에 저장된 시간형식의 데이터를 사람이 보기 편한 데이터로 바꾸는 방법
select date_format(birthdt, '%Y년 %m월 %d일, %h시')
from people2;

 

-- 현재 시간을 가져오고 싶을 때, now() 함수를 사용
select now();

-- 현재 년월일 만 가져오고 싶을 때, curdate()
select curdate();

-- 현재 시분초만 가져오고 싶을 때, curtime()
select curtime();

 

위 함수들은 UTC(협정세계시)로 출력된다.

 

 

시간의 차이를 구하는 방법

 

1. datediff() : 날짜간 차이를 계산

select datediff(now(), birthdt)
from people2;

 

 

2. interval : 시간의 간격을 계산

-- date_add : + ,  date_sub : -
select birthdt, date_add(birthdt, interval 1 day)
from people2;

select birthdt, date_add(birthdt, interval 3 month)
from people2;

select birthdt, date_add(birthdt, interval 5 week)
from people2;

select birthdt, date_add(birthdt, interval 7 hour)
from people2;

select birthdt, date_sub(birthdt, interval 7 hour)
from people2;

-- 함수 대신 +, - 기호를 써도 된다.
select birthdt, birthdt + interval 7 hour
from people2;

select birthdt, birthdt - interval 7 hour
from people2;

select birthdt, birthdt - interval 8 hour + interval 3 hour
from people2;

 

 

 

'MySQL' 카테고리의 다른 글

MySQL 조건문 사용하기 case, if  (0) 2022.12.09
MySQL Workbench에서 insert, update 할 때마다 시간 저장하기  (0) 2022.12.08
MySQL - select 문의 여러 문법들  (0) 2022.12.07
MySQL - group by 와 having  (0) 2022.12.07
MySQL - 서브쿼리(SubQuery)  (0) 2022.12.07
    'MySQL' 카테고리의 다른 글
    • MySQL 조건문 사용하기 case, if
    • MySQL Workbench에서 insert, update 할 때마다 시간 저장하기
    • MySQL - select 문의 여러 문법들
    • MySQL - group by 와 having
    드레:
    드레:

    티스토리툴바