DATABASE/MySQL Workbench

MySQL Workbench : 날짜 데이터 관련 함수들 (now())과 부등호를 활용한 시간 차이 구하기 (interval)

신강희 2024. 5. 16. 11:13
728x90

< MySQL 날짜 데이터 관련 함수들 (now())과 부등호를 활용한 시간 차이 구하기 (interval) >

- 학습을 위해 이전에 만든 DB와 테이블을 사용

- 참고 : https://sorktjrrb.tistory.com/120

 

MySQL Workbench : 날짜 데이터를 저장하는 데이터타입 (DATE, TIME, DATETIME)

- 날짜 데이터 학습을 위해 새로운 테이블 생성ㄴ Datatype이 중요함 # yhdb로 db 사용어 입력하고 테이블에 새로운 데이터 입력use yhdb;insert into people(name, birthdate, birthtime, birthdt)values( 'Mike', '1990-11-11'

sorktjrrb.tistory.com

 

# 중요한 개념! 현재 시간을 실시간으로 적용해주는 now() 함수!

-- 현재 시간을 구하는 방법 now() 함수
select now();

 

# 이외에도 사용가능한 시간 관련 함수들!

-- 현재의 년월일만 가져오고 싶을때 cur date() 함수
select curdate();

 

-- 현재의 년월일만 가져오고 싶을때 cur date() 함수
select curdate();

 

-- 현재의 시분초만 가져오고 싶을때 cur time() 함수
select curtime();

 

# 시간의 차이를 구하는 함수들 : datediff(), date_add(interval), date_sub(interval) 

-- 시간의 차이를 구하는 방법 : datediff() 함수
-- 현재시간과 birthdt 시간의 차이를 구해보자. 현재시간 - 태어난시간
select datediff( now() , birthdt )
from people;

 

-- 태어난 시간으로부터 100일 후의 날짜는? date_add() 함수
select birthdt, date_add( birthdt , interval 100 day )
from people;

 

-- 태어난 시간으로부터 5주 후의 날짜는?
select birthdt, date_add( birthdt , interval 5 week )
from people;

 

-- 태어난 시간으로부터 72시간 후의 날짜는?
select birthdt, date_add( birthdt , interval 72 hour )
from people;

 

# 좀더 실무적인 방법으로 함수를쓰지 않고 부등호로도 가능하다!

-- 함수를 쓰지 않고 부등호로도 가능하다.
-- 실무에서 많이 사용!

select birthdt, birthdt + interval 72 hour
from people;

select birthdt, birthdt - interval 72 hour
from people;

select birthdt, birthdt + interval 2 year + interval 27 hour - interval 29 minute
from people;

ㄴ 년,월,일 모두 한꺼번에도 가능하고, 한가지씩도 가능하다!

 

다음 게시글로 계속~!

반응형