시간 날짜 관련 및 기타 함수들
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');
댓글
댓글 쓰기