MySQL 정리 (시간, 날짜 관련 및 기타 함수들)

 



시간 날짜 관련 및 기타 함수들

  • CURRENT_DATE, CURDATE : 현재 날짜 반환

  • CURENT_TIME, CURTIME : 현재 시간 반환

  • CURENT_TIMESTAMP, NOW : 현재 시간과 날짜 반환

    ex) CURDATE() / CURTIME() / NOW ()

 

  • DATE : 문자열에 따라 날짜 생성

  • TIME : 문자열에 따라 시간 생성 

  • YEAR : 주어진 DATETIME 값의 연도 반환

 

  • MONTHNAME : 주어진 DATETIME 값의 월(영문) 반환

  • MONTH : 주어진 DATETIME 값의 월(숫자) 반환

  • WEEKDAY : 주어진 DATETIME 값의 요일값 반환

  • ex) 월요일 : 0, 화요일 : 1

  • DAYNAME : 주어진 DATETIME 값 요일 이름(영어) 의 반환

  • DAYOFMONTH,DAY : 주어진 DATETIME 값 날짜(일) 의 반환

 

  • HOUR : 주어진 DATETME의 시간 반환

  • MINUTE : 주어진 DATETME의 분 반환

  • SECOND : 주어진 DATETME의 초 반환

  

  • ADDDATE, DATE_ADD : 시간 / 날짜 더하기

  • SUBDATE, DATE_SUB : 시간 / 날짜 빼기


  • DATEDIFF : 두 시간 / 날짜 간 "일"수차

  • TIMEDIFF : 두 시간 / 날짜 간 "시간" 차

  • DATEDIFF( time1, time2) 

    결과값 : time1 - time2

 

  • LAST_DAY : 해당 달의 마지막 날짜

  • LAST_DAY(날짜)


  • %Y : 년도 4자리

  • %y : 년도 2자리

  • %M : 월 영문

  • %m : 월 숫자

  • %D : 일 영문(1st, 2nd, 3rd, ...)

  • %d , %e : 일 숫자 (01~31)

  • %T : hh:mm:ss

  • %r : hh:mm:ss AM/PM

  • %H , %k : 시 (~23)

  • %h , %k : 시 (~12)

  • %i : 분

  • %S , %s : 초

  • %p : AM/PM

  • STR_TO_DATE(S,F) : S를 F형식으로 해석하여 시간/날짜 생성

    SELECT DATEDIFF( STR_TO_DATE('2021-06-04 07:48:52', '%Y-%m-%d %T'), STR_TO_DATE('2021-06-01 12:30:05', '%Y-%m-%d %T') ), TIMEDIFF( STR_TO_DATE('2021-06-04 07:48:52', '%Y-%m-%d %T'), STR_TO_DATE('2021-06-01 12:30:05', '%Y-%m-%d %T') );

기타함수들

  • IF(조건, T,F) : 조건이 참이라면 T, 거짓이라면 F를 반환

    SELECT IF (1 > 2, '1는 2보다 크다.', '1은 2보다 작다.');

  • IF 문이 많다면 CASE를 사용!

    SELECT CASE WHEN -1 > 0 THEN '-1은 양수다.' WHEN -1 = 0 THEN '-1은 0이다.' ELSE '-1은 음수다.' END;

  • IFNULL (A,B): A가 NULL일때 B 출력!

  • 출력만 가능

    SELECT IFNULL('A', 'B'), IFNULL(NULL, 'B');

댓글