함수 설명
함수 | 설명 |
CURRENT_DATE, CURDATE() | 현재 날짜 반환 |
CURRENT_TIME, CURTIME() | 현재 시간 반환 |
CURRENT_TIMESTAMP, NOW() | 현재 시간과 날짜 반환 |
DATE(칼럼명) | 문자열에 따라 날짜 생성 |
TIME(칼럼명) | 문자열에 따라 시간 생성 |
YEAR(컬럼명) | 주어진 DATETIME값의 년도 반환 |
MONTHNAME(컬럼명) | 주어진 DATETIME값의 월(영문) 반환 |
MONTH(컬럼명) | 주어진 DATETIME값의 월 반환 |
WEEKDAY(컬럼명) | 주어진 DATETIME값의 요일값 반환(월요일: 0) |
DAYNAME(컬럼명) | 주어진 DATETIME값의 요일명 반환 |
DAY(칼럼명) | 주어진 DATETIME값의 날짜(일) 반환 |
HOUR(컬럼명) | 주어진 DATETIME의 시 반환 |
MINUTE(컬럼명) | 주어진 DATETIME의 분 반환 |
SECOND(컬럼명) | 주어진 DATETIME의 초 반환 |
ADDDATE(칼럼명 INTERVAL 더할 값) 예시. SUBDATE(칼럼명 INTERVAL 5 YEAR) |
시간/날짜 더하기 |
SUBDATE(칼럼명 INTERVAL 뺄 값) 예시. SUBDATE(칼럼명 INTERVAL 5 YEAR) |
시간/날짜 빼기 |
DATE_DIFF(’비교할값’, ‘비교할값’) | 두 시간/날짜 간 일수차 |
TIME_DIFF(’비교할값’, ‘비교할값’) | 두 시간/날짜 간 시간차 |
LAST_DAY(칼럼명) | 해당 칼럼의 마지막 날짜 |
DATE_FORMAT(칼럼명, 형식) | 칼럼을 시간/날짜를 지정한 형식으로 반환 |
STR _ TO _ DATE(칼럼명, 형식) | 칼럼을 형식으로 해석하여 시간/날짜 생성 |
%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 |
STR_TO_DATE vs. DATE_FORMAT
역할 | STR_TO_DATE | DATE_FORMAT |
문자열(string) → 날짜(date) 변환 | 날짜(date) → 문자열(string) 변환 | |
입력 데이터 | 문자열 | 날짜/시간 |
출력 데이터 | 날짜/시간 | 문자열 |
사용 목적 | 외부 데이터 정리, 변환 | 데이터 표현, 출력 형식 조정 |
예시 | ‘20-11-2024’ → 2024-11-20’ | 2024-11-20’ → ‘20-11-2024’ |
함수별 예시
- SELECT CURDATE() ;
- 의미: 현재 날짜를 출력해라
- SELECT CURTIME() ;
- 의미: 현재 시간을 출력해라
- SELECT NOW();
- 의미: 현재 날짜와 시간을 출력해라
- SELECT DATE('2021-6-1 01:02:03') ;
- 의미: 2021-6-1 01:02:03에서 날짜만 출력해라
- 결과: 2021-06-01 출력
- SELECT TIME('2021-6-1 01:02:03');
- 의미: 2021-6-1 01:02:03에서 시간만 출력해라
- 결과: 01:02:03 각각 출력
- SELECT HOUR(NOW()) ;
- 의미: 현재의 시간을 출력해라
- SELECT MINUTE(NOW());
- 의미: 현재의 분을 출력해라
- SELECT SECOND(NOW()) ;
- 의미: 현재의 초를 출력해라
- SELECT DATEDIFF(1996-10-10, 1996-10-12) ;
- 의미: 1996-10-10과 1996-10-12간의 일수 차를 계산하여 출력해라
- 결과: 2
- SELECT TIMEDIFF('2021-06-21 15:20:35', '2021-06-21 16:34:41');
- 의미: 15:20:35와 16:34:41 간의 시간 차를 계산하여 출력해라
- 결과: -01:14:06
- SELECT LAST_DAY(OrderDate) FROM Order ;
- 의미: Order 테이블 내 OrderDate 칼럼 값 중에서 제일 마지막 달을 추출해라
- SELECT DATE_FORMAT(NOW(), ‘%M %D, %Y %T’);
- 의미: 지금 시각을 [월 일, 연 시간] 형식으로 추출해라
- 결과: November 20th, 2024 06:53:18
728x90
반응형
LIST
'GA 및 data > SQL' 카테고리의 다른 글
[SQL] 그룹함수 (0) | 2024.11.24 |
---|---|
[SQL] IF, CASE, IFNULL 조회 (0) | 2024.11.23 |
[SQL] 사칙연산 조회 (0) | 2024.11.17 |
[SQL] 숫자 조회 (0) | 2024.11.16 |
[SQL] 조회결과 순서 정렬 or 칼럼명 변경하여 데이터 조회 (2) | 2024.11.10 |
댓글