728x90
1. 다중행 함수
하나의 값이 아닌 값들의 집합에 대해서 동작하는 함수다.
COUNT | COUNT(필드) | 선택된 필드에서 특정 조건을 만족하는 레코드의 총 개수를 반환한다. 없다면 0을 반환한다. 중복된 값을 제외하려면 DISTINCT 키워드를 사용한다. |
MIN/MAX | MIN(필드), MAX(필드) | 선택된 필드에 저장된 값 중 가장 작은값/큰값을 반환한다. |
SUM | SUM(필드) | 선택된 숫자타입의 필드에 저장된 값의 총 합을 반환한다. |
AVG | AVG(필드) | 선택된 숫자타입의 필드에 저장된 값의 평균값을 반환한다. |
2. 단일행 함수
문자열 함수
LENGTH() | LENGTH('문자열') | 전달받은 문자열의 길이 반환 |
CONCAT() | CONCAT('문자열','문자열', ..) | 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환. 하나라도 NULL이 존재하면 NULL을 반환. |
LOCATE() | LOCATE('찾을문자열','원본문자열') LOCATE('찾을문자열','원본문자열',찾기시작할인덱스) |
찾을 문자열이 원본 문자열에서 처음으로 나타나는 위치를 반환한다. 없다면 0을 반환한다. 세번째 인수로 찾기 시작할 인덱스를 전달할 수 있다. MYSQL에는 문자열의 첫번째 인덱스를 1부터 시작해 계산하는 것을 주의해야 한다. |
LEFT(), RIGHT() |
LEFT('문자열',개수) RIGHT('문자열',개수) |
전달받은 문자열의 왼쪽, 오른쪽부터 명시한 개수만큼의 문자를 반환한다. |
LOWER(), UPPER() |
LOWER('문자열'), UPPER('문자열') |
전달받은 문자열을 모두 소문자, 대문자로 변경한다. |
REPLACE() | REPLACE('문자열', '특정문자열','대체문자열') | 문자열에서 특정문자열을 찾아 대체 문자열로 변경한다. |
TRIM() | TRIM([BOTH|LEADING|TRAILING] '특정문자열' FROM '문자열') | 전달받은 문자열의 앞, 뒤에 있는 특정 문자를 제거한다. 제거할 문자를 명시하지 않으면 자동으로 공백을 제거한다. BOTH:양끝에있는 특정 문자열 제거 LEADING:앞에 있는 특정 문자열 제거 TRAILING:뒤에 있는 특정 문자열 제거 |
FORMAT() | FORMAT('숫자데이터',반올림할소수자리수) | 숫자타입의 데이터를 세 자리마다 쉼표를 사용하는 형식으로 변환해 문자열을 반환한다. 두번째 인수로 반올림할 소수 부분의 자릿수까지 전달할 수 있다. |
수학 함수
올림/내림 | CEIL(숫자), FLOOR(숫자) | |
반올림 | ROUND(숫자, 반올림할소수점) | 두번째 인수로 반올림할 소수점을 전달할 수도 있다. |
제곱근/제곱 | SQRT(숫자), POW(숫자,숫자) | SQRT는 제곱근 중 양수값, POW는 첫번째 숫자를 두번째 숫자만큼 곱해서 반환한다. |
지수/로그 | EXP(지수), LOG(숫자) | EXP는 전달받은 지수의 e거듭제곱을 계산해 반환한다. LOG는 전달받은 수의 자연로그값을 계산해 반환한다. |
삼각함수 | SIN() COS() TAN() | |
절대값 | ABS(숫자) | |
랜덤 | RAND() | 0.0보다 크거나 같고 1.0보다 작은 하나의 실수를 무작위로 생성해 반환한다. |
날짜 함수
현재날짜,시간 |
NOW() CURDATE() CURTIME() |
현재 날짜와 시간을 반환한다. 현재 날짜를 반환한다. 현재 시각을반환한다. |
특정 날짜와 시간정보 | DATE() MONTH() DAY() HOUR() MINUTE() SECOND() |
전달받은 값에 해당하는 날짜정보를 반환한다. 전달받은 값에서 월에 해당하는 값만을 반환한다.(0~12) 전달받은 값에서 일자에 해당하는 값만을 반환한다.(0~31) 전달받은 값에서 시간에 해당하는 값만을 반환한다.(0~23) 전달받은 값에서 분에 해당하는 값만을 반환한다.(0~59) 전달받은 값에서 초에 해당하는 값만을 반환한다.(0~59) |
요일과 월 이름 | MONTHNAME() DAYNAME() |
전달받은 값의 월에 해당하는 이름을 반환한다. 전달받은 값의 요일에 해당하는 이름을 반환한다. |
연도별, 월별, 주별 일수 | DAYOFWEEK() DAYOFMONTH() DAYOFYEAR() |
전달받은 값의 일자가 해당 주에서 몇번째 날인지를 반환한다. 전달받은 값의 일자가 해당 월에서 몇번째 날인지를 반환한다. 전달받은 값의 일자가 해당 연도에서 몇번째 날인지를 반환한다. |
날짜와 시간의 형식화 | DAY_FORMAT() | 전달받은 형식에 맞춰 날짜와 시간 정보를 문자열로 반환한다. |
DAY_FORMAT 형식
%a | 요일을 세 개의 문자로 표현함. | Sun부터 Sat |
%b | 월의 축약형을 세 개의 문자로 표현함. | Jan부터 Dec |
%c | 월을 숫자로 표현함. | 0부터 12 |
%D | 날짜 뒤에 영어 서수를 붙임 | 0th, 1st, 2nd, 3rd, ... |
%d | 날짜를 두 자리 숫자로 표현함. | 00부터 31 |
%e | 날짜를 숫자로 표현함. | 0부터 31 |
%f | 마이크로초를 여섯 자리 숫자로 표현함. | 000000에서 999999 |
%H | 24시간 형식 시간을 두 자리 숫자로 표현함. | 00부터 23 |
%h | 12시간 형식 시간을 두 자리 숫자로 표현함. | 01부터 12 |
%I | 12시간 형식 시간을 두 자리 숫자로 표현함. | 01부터 12 |
%i | 분을 두 자리 숫자로 표현함. | 00부터 59 |
%j | 일 년 중 몇 번째 날인지를 세 자리 숫자로 표현함. | 001부터 366 |
%k | 24시간 형식으로 시간을 표현함. | 0부터 23 |
%l | 12시간 형식으로 시간을 표현함. | 1부터 12 |
%M | 월을 완전한 문자열로 표현함. | January부터 December |
%m | 월을 두 자리 숫자로 표현함. | 00부터 12 |
%p | 오전과 오후의 대문자를 표현함. | AM 또는 PM |
%r | hh:mm:ss AM/PM 형식으로 시간을 표현함. (12시간 형식) | 00:00:01 AM |
%S | 초를 두 자리 숫자로 표현함. | 00부터 59 |
%s | 초를 두 자리 숫자로 표현함. | 00부터 59 |
%T | hh:mm:ss 형식으로 시간을 표현함. (24시간 형식) | 23:01:01 |
%U | 일 년 중 몇 번째 주인지를 숫자로 표현함. (한 주는 일요일부터 시작함) | 00부터 53 |
%u | 일 년 중 몇 번째 주인지를 숫자로 표현함. (한 주는 월요일부터 시작함) | 00부터 53 |
%V | 일 년 중 몇 번째 주인지를 숫자로 표현함. (한 주는 일요일부터 시작하고, %X 형식을 사용함) |
00부터 53 |
%v | 일 년 중 몇 번째 주인지를 숫자로 표현함. (한 주는 월요일부터 시작하고, %x 형식을 사용함) |
00부터 53 |
%W | 요일을 완전한 문자열로 표현함. | Sunday부터 Saturday |
%w | 요일을 숫자로 표현함. | 0(일요일)부터 6(토요일) |
%X | 연도를 완전한 네 자리 숫자로 표현함. (한 주는 일요일부터 시작하고, %V 형식을 사용함) |
1999나 2003 |
%x | 연도를 완전한 네 자리 숫자로 표현함. (한 주는 월요일부터 시작하고, %v 형식을 사용함) |
1999나 2003 |
%Y | 연도를 완전한 네 자리 숫자로 표현함. | 1999나 2003 |
%y | 연도를 두 자리 숫자로 표현함. | 99나 03 |
%% | '%' 문자 | % |
'기록 > DB' 카테고리의 다른 글
[MYSQL] DCL(Data Control Language) (0) | 2022.05.13 |
---|---|
[MYSQL] DML(Data Manipulation Language) (0) | 2022.05.12 |
[MYSQL] DDL(Data Definition Language) (0) | 2022.05.11 |
댓글