
이전 블로그, 마케터를 위한 SQL: 중간 정리 (SELECT, FROM, WHERE) 에서 M*N 사이즈를 갖는 단일 테이블을 조회하는 기초적인 SQL 구문들을 정리했습니다. 이번편에서는 M*N 테이블 내에서 데이터를 가공하는 다양한 함수를 소개합니다.
MYSQL에서 기본으로 제공되는 내장함수는 크게 단일행 함수와 다중행 함수로 구분할 수 있습니다. SQL 구문에서 FROM절의 입력 테이블 사이즈가 M*N일 경우

특히, 다중행 함수의 경우, 여러 행이 모인 한 세트당 하나의 결과이기 때문에, 세트가 여러개일 경우 반환값도 여러개가 될 수 있습니다.

단일행 함수는 데이터의 종류에 따라 그에 맞는 함수가 존재합니다. 가령, 문자형 데이터를 가공하는 문자 함수와 숫자형 데이터를 가공하는 숫자 함수가 대표적인 함수의 종류입니다. 아래 테이블에서 다양한 종류의 단일행 함수를 알아보겠습니다.

| 함수 종류(링크) | 종류 설명 | 함수 키워드 | 함수 설명 |
|---|---|---|---|
| 문자 함수 | LOWER | 소문자로 변환 | |
| 문자 데이터 대상 함수 | UPPER | 대문자로 변환 | |
| SUBSTR | 부분 문자열 추출 (컬럼, 시작인덱스, 추출 길이) | ||
| LENGTH | 문자열 길이 측정(바이트 기준, 한글 3바이트) | ||
| CHAR_LENGTH | 문자열 길이 측정(글자수 기준) | ||
| TRIM(RTRIM, LTRIM) | 공백 및 문자 제거 (LEADING, TAILING, BOTH) | ||
| CONCAT | 구분자를 통한 문자 결합 | ||
| CONCAT_WS | 문자 결합 | ||
| --- | ---- | --- | --- |
| 숫자 함수 | 숫자를 입력하면 숫자값을 반환 | ABS | 절대값 |
| MOD | 0이 아닌 두 값을 나눈 나머지 값 | ||
| TRUNC | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ | ||
| SIGN | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ | ||
| CHR | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ | ||
| ROUND | 소수점 반올림 | ||
| TRUNCATE | 특정 위치의 소수점 버림 | ||
| CEIL | 소수점 올림 | ||
| FLOOR | 소수점 버림 | ||
| EXP | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ | ||
| LOG | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ | ||
| 날짜 함수 | 숫자를 입력하면 숫자값을 반환 | ABS | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ |
| 변환 함수 | 숫자를 입력하면 숫자값을 반환 | ABS | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ |
| 흐름 제어 함수 | 숫자를 입력하면 숫자값을 반환 | ABS | 함수 설ㅁㅁㄴㅇㄹㅁㄴㅇㄹㅁㄴㅇ |
LN, POWER, COS, TAN
다중행함수는

다중행 함수는 집계함수, 그룹함수, 윈도우 함수로 구분된다.
