날짜 & 시간 처리하는 방법
date, time, datetime
date YYYY-MM-DD
time HH:MM:SS
datetime YYYY-MM-DD HH:MM:SS = isoformat
현재 시간과 관련된 함수 3개 curdate(), curtime(), now()
select curdate();
select curtime();
select now();
insert into people2
(name, birthdate, birthtime, birthdatetime)
values
('Padma', '1988-11-11', '10:07:35', '1988-11-11 10:07:35'),
('Larry', '1994-04-22', '04:10:42', '1994-04-22 04:10:42');
( 'Herry',curdate(),curtime(),now() );
select *
from people2;

date의 년만 가져올때
select name, year( birthdate )
from people2;

date의 월만 가져올때
select name, month( birthdate )
from people2;

date의 일만 가져올때
select name, day( birthdate )
from people2;

date의 요일을 알고싶을때
(1부터7까지 있는데 1은 sunday)
select name, dayofweek( birthdate )
from people2;

date의 요일을 문자열로 알고싶을때
select name, dayname( birthdate )
from people2;

시
select name, hour(birthtime)
from people2;

분
select name, minute(birthtime)
from people2;

초
select name, second(birthtime)
from people2;

2000-11-11 03:50 에 태어났습니다.
select date_format(birthdatetime, ' %Y-%m-%D %H:%i 에 태어났습니다.')
from people2;

birthdate 컬럼과 현재 시간의 차이를 가져오세요
select datediff( now(), birthdate )
from people2;

birthdate 에 36일 후는??
select date_add(birthdate, interval 28 week)
from people2;

birthdate 에 28주 후는??
select birthdate + interval 28 week
from people2;

birthdatetime 에 16시간 전은??
select birthdatetime - interval 16 hour
from people2;

birthdatetime 에 16시간 후는??
select birthdatetime + interval 16 hour
from people2;

birthdatetime의 2년 3개월 후 현재시간의 5시간 전은??
select birthdatetime + interval 2 year + interval 3 month - interval 5 hour
from people2;

timestamp
timestamp 데이터타입!
날짜를 숫자로 표현, 1970년 1월1일 자정을 0으로 시작, 지금까지 흘러온 초
insert into comments
(content)
values
('사과 진짜 맛있나요?'),
('진짜?');
update comments
set content = '맛없을거 같은데'
where id =3;

위 예시 이미지와 같이 update_at이라는 컬럼에
데이터가 수정되거나 update되는 마지막 순간을
기록하는걸 timestamp라고 한다.
이 설정은 Create Table할때 Columns 설정에서
defulte값을 통해 설정 할 수 있다.

위 이미지와 같이 Datatype은 TIMESTAMP로 설정
Defulte값은
creat_at은
Defulte 값에 CURRENT_TIMESTAMP를 적어주고
update_at은 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP를 적어주게 되면
생성된 시간, 수정 & 업데이트된 시간이 표시되게 된다.
'TOOL > MySQL' 카테고리의 다른 글
| MySQL - if( ) (0) | 2022.05.17 |
|---|---|
| MySQL - CASE (0) | 2022.05.16 |
| MySQL - max, min, avg, sum 함수 사용법 (0) | 2022.05.16 |
| MySQL - count , group by (0) | 2022.05.16 |
| MySQL - 문자열 검색에 유용한 Like 사용법 (0) | 2022.05.16 |