개발/데이터베이스

Mysql 날짜기본함수 정리

림쌍월 2020. 10. 16. 14:21

* 일단 기본적인 현재 시간정보 확인 쿼리

SELECT NOW()SLEEP(2)NOW();

SELECT SYSDATE(), SLEEP(2), SYSDATE();

위에 두개는 뭐가 다를까 그냥 찾아 보다가 알게 된것.. 

 

  • SYSDATE() : 함수 호출 시간
  • NOW() : 쿼리 수행 시간

 

 

- SYSDATE() , NOW() : 현재 날짜 , 시간

- CURRENT_DATE() , CURDATE() , DATE( p ) : 현재 날짜 

- CURRENT_TIME() , CURTIME() , TIME( p ) : 현재 시간

 

- LAST_DAY( p ) : 해당월의 마지막 날짜정보 

 

- DAYOFMONTH( p ) : 해당 월에 몇번째 날짜인지 정보

- DAYOFYEAR( p) : 해당 연도의 몇번째 월인지 정보

 

- DAYOFWEEK( p ) : 요일 정보를 숫자로 표현 ( 1 = 일요일, 2 = 월요일, ... 7 = 토요일 )

- WEEKDAY( p )     : 요일 정보를 숫자로 표현 ( 0 = 월요일, 1 = 화요일, ... 6 = 일요일 )

 

- WEEK( p ) : 1년 52주 중 해달 날짜가 몇 번째 주인지 리턴

- WEEK( p , n ) : 1년 52주 중 해달 날짜가 몇 번째 주인지 리턴( 주의 시작을 설정[0:일요일 , 1:월요일] )

 * p : 날짜정보 , n : 숫자정보

 

 

 

날짜 연산

- DATE_ADD( NOW() , INTERVAL 1 DAY) 현재시간에서 1일을 더한 시간정보 (ADDDATE() 함수도 동일하게 사용)

- DATE_SUB( NOW() , INTERVAL 1 DAY) 현재시간에서 1일을 뺀 시간정보     (SUBDATE() 함수도 동일하게 사용)

  * SECOND , MINUTE , HOUR , DAY , MONTH , YEAR : 원하는데로 수정 변경하여 확인

 

날짜 포맷

- DATE_FORMAT( NOW() , '포맷형식' );

 : 포맷형식 '%Y-%m-%d %H:%i:%s' 표현 ( %Y : 연도 , %m : 월 , %d : 일 %H : 시간 , %i : 분 , %s : 초 )

 

날짜차이

- TIMESTAMPDIFF( MONTH, '비교할 날짜1' , '비교할 날짜2')