이전 블로그, 마케터를 위한 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
다중행함수는
다중행 함수는 집계함수, 그룹함수, 윈도우 함수로 구분된다.