- 함수 : 인수를 받아들여서 정해진 작업(조작)을 한 후 하나의 결과값을 반한해줌.
SQL함수는 단일행 함수와 다중행 함수(그룹함수)로 나눠짐.
1. 문자 함수
ASCII(아스키코드) | 문자의 아스키 코드값을 반환해주는 함수 |
CHAR(숫자) | 숫자의 아스키 코드값을 반환해주는 함수 |
더보기
* MySQL에서는 단순한 함수 결과나 계산 결과를 출력하는 경우 즉, 접근해야하는 테이블이 없는 출력구문인 경우 select절만 작성할 수 있음
* 출력 결과에 BLOB로 표시되는 경우(Workbench의 버그) 오른쪽 마우스 클릭 후 [Open Value in Viewer] 선택 후 [Text] 탭에 들어가면 정상적인 출력 결과를 확인할 수 있음
Ex) SELECT ascii('A'), char(65);
LENGTH(문자열) | 문자열의 byte 수를 반환해주는 함수 |
BIT_LENGTH(문자열 | 할당된 bit 크기 또는 문자 크기를 반환해주는 함 |
CHAR_LENGTH(문자열) | 문자의 개수를 반환해주는 함수 |
더보기
* 영문은 글자 하나당 1바이트, 한글은 3바이트
Ex1) SELECT employee_id, length(employee_id), last_name, length(last_name)
FROM employees;
EX2) SELECT length('abc'), bit_length('abc'), char_length('abc');
EX3) SELECT length('가나다'), bit_length('가나다'), char_length('가나다');
CONCAT(문자열1, 문자열2, ...) | 문자열을 연결해주는 함수 |
CONCAT_WS(구분자, 문자열1, 문자열2, ...) | 구분자와 함께 문자열을 연결해주는 함수 |
더보기
Ex1) SELECT employee_id, concat(first_name, ' ', last_name) AS '이름'
FROM employees;
Ex2) SELECT concat_ws('/', '2025', '01', '01');
INSTR(기준 문자열, 부분 문자열) | 기준 문자열에서 부분 문자열의 시작 위치값을 반환해주는 함수 |
더보기
Ex1) SELECT instr('하나둘셋', '둘');
Ex2) SELECT last_name, instr(last_name, 'a')
FROM employees;
UPPER(문자열) | 문자열을 대문자로 변환해주는 함수 |
LOWER(문자열) | 문자열을 소문자로 변환해주는 함수 |
더보기
Ex) SELECT lower('abcdEFGH'), upper('abcdEFGH');
LEFT(문자열, 길이) | 왼쪽에서 문자열의 길이만큼 반환해주는 함수 |
RIGHT(문자열, 길이) | 오른쪽에서 문자열의 길이만큼 반환해주는 함수 |
더보기
Ex) SELECT left('abcdefghi', 3), right('abcdefghi', 3);
LPAD(문자열, 길이, 채울 문자) | 문자열을 길이만큼 늘린 후 빈곳을 왼쪽부터 채울 문자로 채워주는 함수, 오른쪽 정렬 함수 |
RPAD(문자열, 길이, 채울 문자) | 문자열을 길이만큼 늘린 후 빈곳을 오른쪽부터 채울 문자 로 채워주는 함수, 왼쪽 정렬 함수 |
더보기
Ex) SELECT lpad('가나다', 5, '#'), rpad('가나다', 5, '#');
LTRIM(문자열) | 문자열의 왼쪽 공백을 제거해주는 함수 |
RTRIM(문자열) | 문자열의 오른쪽 공백을 제거해주는 함수 |
더보기
* 중간 공백은 제거되지 않음
Ex) SELECT ltrim(' SQL 문법 '), rtrim(' SQL 문법 ');
TRIM(문자열) | 문자열의 앞/뒤 공백을 제거해주는 함수 |
TRIM(방향 자를문자열 FROM 문자열) | - 방향 : leading(앞), trailing(뒤), both(양쪽) - 문자열로부터 해당 방향의 자를 문자열을 제거해 주는 함수 |
더보기
Ex) SELECT trim(' SQL 문법 '), trim(both '_' from '__SQL_문법___');
REPLACE(문자열, 기존문자열, 바꿀문자열) | 문자열에 기존 문자열을 바꿀 문자열로 교체해 주는 함수 |
더보기
Ex) SELECT employee_id, phone_number, replace(phone_number, '.', '-') AS '전화번호'
FROM employees;
SPACE(길이) | 길이만큼의 공백을 반환해주는 함수 |
더보기
Ex) SELECT concat('MySQL', space(10), 'DBMS');
SUBSTR(문자열, 시작위치, 길이) | 문자열의 일부분을 반환해주는 함수 |
더보기
Ex) SELECT substr('대한민국만세', 3, 2);
'5. DB > 4-1. MySQL DBMS' 카테고리의 다른 글
MySQL - [ 단일 행 함수 (변환 함수 / 제어 흐름 함수 / 시스템 정보 함수)] (0) | 2022.04.19 |
---|---|
MySQL - [ 단일 행 함수 ( 숫자 함수 / 날짜 함수 ) ] (0) | 2022.04.18 |
MySQL - [JOIN (Inner Join / Outer Join / Cross Join / Self Join) ] (0) | 2022.04.08 |
MySQL - [ 모델링 / 역모델링(ER 다이어그램) ] (0) | 2022.04.04 |
MySQL - [데이터질의어(DQL) - Select] (0) | 2022.03.11 |