1 분 소요

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

함수 설명
CURRENT_DATE, CURDATE 현재 날짜 반환
CURRENT_TIME, CURTIME 현재 시간 반환
CURRENT_TIMESTAMP, NOW 현재 시간과 날짜 반환
DATE 문자열에 따라 날짜 생성
TIME 문자열에 따라 시간 생성
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 시간/날짜 빼기
DATE_DIFF 두 시간/날짜 간 일수차
TIME_DIFF 두 시간/날짜 간 시간차
LAST_DAY 해당 달의 마지막 날짜
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)
시 (~23) 시 (~12)
%i
%S, %s
%p AM/PM
STR _ TO _ DATE(S, F) S를 F형식으로 해석하여 시간/날짜 생성
IF(조건, T, F) 조건이 참이라면 T, 거짓이면 F 반환
IFNULL(A, B) A가 NULL일 시 B 출력

05강 조건에 따라 그룹으로 묶기

  1. DISTINCT 중복된 값들 제거
    • GROUP BY 와 달리 집계함수가 사용되지 않습니다.
    • GROUP BY 와 달리 정렬하지 않으므로 더 빠릅니다.
SELECT DISTINCT CategoryID
FROM Products;
-- 위의 GROUP BY를 사용한 쿼리와 결과 비교

mysql

SELECT COUNT DISTINCT CategoryID
FROM Products;
-- 오류 발생

mysql

SELECT DISTINCT Country
FROM Customers
ORDER BY Country;

mysql

SELECT DISTINCT Country, City
FROM Customers
ORDER BY Country, City;

mysql
GROUP BY 와 DISTINCT 함꼐 사용해보기

SELECT
  Country,
  COUNT(DISTINCT CITY)
FROM Customers
GROUP BY Country;

mysql

참고자료 및 블로그

태그:

카테고리:

업데이트: