CURRENT_DATE, CRDATE: 현재 날짜 반환
CURRNET_TIME, CRTIME: 현재 시간 반환
NOW: 현재 날짜와 시간 반환
SELECT
CRDATE()
# 2022-11-01
CRTIME()
# 15:21:31
NOW()
# 2022-11-01 15:21:31
DATE: 입력받은 문자열로 날짜 생성
TIME: 입력받은 문자열로 시간 생성
SELECT
DATE('2022-11-01') = DATE('2022-11-1')
# 1
TIME('01:02:03') = TIME('1:2:3')
# 1
YEAR: 주어진 DATETIME값의 년도 반환
MONTHNAME: 주어진 DATETIME값의 월(영문) 반환
MONTH: 주어진 DATETIME값의 월 반환
WEEKDAY: 주어진 DATETIME값의 요일값 반환(월요일:0) 반환
DAYNAME: 주어진 DATETIME값의 요일명 반환 반환
DAYOFMONTH, DAY: 주어진 DATETIME값의 날짜(일) 반환
HOUR: 주어진 DATETIME의 시 반환
MINUTE: 주어진 DATETIME의 분 반환
SECOND: 주어진 DATETIME의 초 반환
ADDDATE, DATE_ADD: 시간, 날짜 더하기
SUBDATE, DATE_SUB: 시간, 날짜 빼기
SELECT
ADDDATE('2021-10-01', INTERVAL 1 MONTH)
# '2022-11-01'
SUBDATE('2022-11-01', INTERVAL -1 MONTH)
'2022-10-01'
LAST_DAY: 해당월의 마지막 날짜 구하기
SELECT
LAST_DAY('2022-11-01')
# 2022-11-30
DAY(LAST_DAY('2022-11-01')
# 30
DATE_FORMAT(시간, 지정 형식)
%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, %l: 시(~12)
%i: 분
%S, %s: 초
%p: AM/PM
SELECT
DATE_FORMAT(NOW(), '%M, %D, %Y %T')
# July 21, 2022 16:43:15
IF(조건, T, F): 조건이 True라면 T반환, False라면 F반환
SELECT
IF (1> 2, '1은 2보다 크다.', '1은 2보다 작다.')
# '1은 2보다 작다
CASE: WHEN 조건 THEN 반환할 값, 해당되는 값이 없다면 ELSE 반환할 값
SELECT
CASE
WHEN -1 > 0 THEN '-1은 양수다.'
WHEN -1 = 0 THEN '-1은 0이다.'
ELSE '-1은 음수다.'
END;
# 조건중에 하나를 만족하면 해당하는 조건의 return 값을 반환
# '-1은 음수다'
IFNULL(A, B): A가 NULL이면 B출력
SELECT
IFNULL(NULL, 1)
# 1