본문 바로가기

프로그래밍/MySQL 기초

MySQL 문법 - 5 (내장함수 정리)

 

내장함수

 

사용자 편의를 위해 사전에 정의되어있는 함수들을 뜻한다.

일반적인 프로그래밍 언어에서 쓰던 기능도 많고 특히 날짜 관련해서 사용할 일이 많아서 그런지 관련 함수가 풍부하다.

 

 

문자열

 

LENGTH(문자열) 문자열의 길이를 반환
CONCAT(문자열1,문자열2,문자열3..) 문자열을 합쳐서 반환
LOCATE(찾을 문자열,대상 문자열) 찾으려는 문자열이 들어있다면 시작점의 인덱스를 반환, MySQL은 맨 앞이 0이 아닌 1부터 시작한다. 등장하지 않는다면 0이 반환된다.
LEFT(문자열,길이) 문자열의 왼쪽에서부터 전달받은 길이까지 반환
RIGHT(문자열, 길이) 문자열의 오른쪽에서부터 전달받은 길이만큼 반환, 순서가 뒤집힌다거나 하지는 않음.
LOWER(문자열) 문자열의 대문자를 모두 소문자로 바꿔서 반환
UPPER(문자열) 문자열의 소문자를 모두 대문자로 바꿔서 반환
REPLACE(문자열, 바꿔야 할 문자열, 바꿀 문자열) 대상 문자열에서 바꿔야할 문자열을 바꿀 문자열로 교체해서 반환
TRIM(문자열)
TRIM((LEADING/TRAILING/BOTH) 지울 문자, 문자열)
앞 뒤 양쪽에 있는 특정 문자열을 제거, LEADING을 붙여 앞에만 제거하거나 TRAILING을 붙여 전달받은 문자열의 뒤에만 제거할 수 있고 BOTH를 이용해 앞뒤 둘다 지워줄 수도 있다. 지울 문자를 지정해서 지울 수도 있다. 아무것도 고르지 않았다면 기본값은 BOTH에 공백을 지운다.
FORMAT(실수, 소숫점 길이) 실수형 데이터의 정수부는 3칸 단위로 끊어주고. (100,000,000) 전달받은 소숫점 길이에서 받올림을 해준다. 들어가는 데이터는 실수와 정수지만 반환되는 값은 문자열이다.

 

수학

FLOOR(N) 실수를 내림한다.
CEIL(N) 실수를 올림한다.
ROUND(N,반올림할 위치(정수)) 실수를 반올림한다. 반올림할 자릿수가 없으면 기본은 0의 자리에서 반올림이다.
SQRT(N) 양의 제곱근을 구해준다.
EXP(N) 자연상수 e의 N제곱을 구해준다.
POW(X,N) X의 N제곱을 구해준다.
LOG(N) 자연로그 값을 구해준다.
PI() 원주율이다.
SIN(N) N는 일반적인 도(degree)를 나타낸다. 사인값을 구해준다.
COS(N) 코사인값을 구해준다.
TAN(N) 탄젠트값을 구해준다.
ABS(N) N의 절댓값을 구해준다.
RAND() 0.0보다 크고 1.0보다 작은 무작위의 실수를 생성한다.

 

날짜

 

NOW() YYYY-MM-DD HH:MM:SS 형태로 반환
CURDATE() YYYY-MM-DD 형태로 반환
CURTIME() HH:MM:SS 형태로 반환
DATE(T) 전달받은 값에 해당하는 날짜 정보 반환 (YYYY-MM-DD)
TIME(T) 전달받은 값에 해당하는 시간 정보 반환 (HH:MM:SS)
YEAR(T) 연에 해당하는 값 반환
MONTH(T) 월에 해당하는 값 반환
DAY(T) 일에 해당하는 값 반환
HOUR(T) 시에 해당하는 값 반환
MINUTE(T) 분에 해당하는 값 반환
SECOND(T) 초에 해당하는 값 반환
MONTHNAME(T) 월 이름(영어) 반환
DAYNAME(T) 요일에 해당하는 값 반환
DAYOFWEEK(T) 해당 주에서 몇 번째 날짜인지 반환
DAYOFMONTH(T) 해당 월에서 몇 번째 날짜인지 반환
DAYOFYEAR(T) 해당 년에서 몇 번째 날짜인지 반환
DATE_FORMAT(T, 형식) 날짜를 형식에 맞춰 반환