eterno

[MySQL] 날짜 데이터 타입 및 함수 본문

DB/MYSQL

[MySQL] 날짜 데이터 타입 및 함수

영원한별똥별 2023. 2. 10. 18:17
728x90
반응형

 

날짜/시간 관련 데이터 타입

데이터 타입 포맷
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH:MM:SS
TIMESTAMP YYYY-MM-DD HH:MM:SS
TIME HH:MM:SS
YEAR YYYY

이 중 날짜에 관한 데이터 타입에 대해 알아보겠습니다.

 


DATE

날짜 또는 날짜/시간 식에서 날짜 부분을 추출

형식 : YYYY-MM-DD

DATETIME

날짜 또는 날짜/시간 식에서 날짜와 시간 부분을 추출

형식 : YYYY-MM-DD HH:MM:SS

 

DATETIME은 단일로 사용하려고 하면 오류나는 걸로 보아

가공하여 사용하는 것같은데 정확한건 좀더 공부해야할 것같습니다.

 

오늘 날짜 구하는 함수

 

NOW()

형식 : YYYY-MM-DD  HH:MM:SS

SYSDATE()

 

더보기

NOW() 와 SYSDATE()의 차이점

 - NOW()는 쿼리가 처음 실행된 현재 시간

 - SYSDATE()는 쿼리가 실행될때마다 가장 최근시간으로 반환

 CURDATE()

형식 : YYYY-MM-DD 또는 YYYYMMDD

 

기준 날짜에서 더하고 빼는 함수

 

DATE_ADD() 와 ADDDATE()는 동일한 의미

 날짜 + : DATE_ADD('기준날짜', INTERVAL 더할값 YEAR/MONTH/DAY);

             : ADDDATE('기준날짜', INTERVAL 더할값 YEAR/MONTH/DAY)

 DATE_SUB() 와 SUBDATE()는 동일한 의미

날짜 - : DATE_SUB('기준날짜', INTERVAL 뺄값 YEAR/MONTH/DAY);

           : SUBDATE('기준날짜', INTERVAL 뺄값 YEAR/MONTH/DAY);

원하는 포맷으로 날짜 출력

▶ DATE_FORMAT(날짜, 포맷);

   년 : %Y (네자리 숫자 년도) , %y (두자리 숫자 년도)

   월 : %m (두자리 숫자 월), %c (한자리 숫자 월), %M(긴 영문 월), %b(짧은 영문 월)

   일 : %d ( 두자리 숫자 일), %e (한자리 숫자 일)

 

문자형식의 날짜 데이터를 DATE형식으로 변환

▶ STR_TO_DATE('문자날짜', 포맷);

문자날짜의 형식과 포맷의 형식이 일치하면 YYYY-MM-DD의 형식으로 반환(형식이 다르면 NULL 반환)

 

 

 

 

 

 

 

참고)

https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date

https://www.w3big.com/ko/sql/func-now.html

https://victorydntmd.tistory.com/143

https://chunggaeguri.tistory.com/entry/MySQL-%EB%82%A0%EC%A7%9C-%EC%8B%9C%EA%B0%84-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%83%80%EC%9E%85

728x90
반응형