문자함수란
단일행 함수 중 하나로, SELECT, WHERE, ORDER BY절에 사용할 수 있으며, 다중행 함수와는 달리 ROW마다 한번 씩 처리하는 함수이다.
연산 대상이 문자이며, 반환 값은 함수에 따라 숫자 또는 문자를 반환한다.
문자함수에는 대소문자 변환함수와 문자 조작함수 두가지 종류가 있다.
대소문자 변환함수
함수 | 내용 |
UPPER(문자열) | ()안의 문자 데이터를 모두 대문자로 변환하여 반환한다. |
LOWER(문자열) | ()안의 문자 데이터를 모두 소문자로 변환하여 반환한다. |
INITCAP | ()안의 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환한다. |
문자 조작함수
CONCAT(expr1, expr2)
칼럼과 칼럼을 이어 하나의 문자로 보여주는 함수이다.
예를 들어 CONCAT(first_name, last_name)을 받게 되면 풀네임 컬럼으로 만들어 보여줄 수 있다.
사용 예시
SELECT CONCAT('DAVID', 'AUSTIN')
FROM dual;
출력 결과
= DAVIDAUSTIN
SUBSTR(expr1, expr2, expr3)
문자열의 일부분을 반환해주는 함수이다.
expr1 : 반환할 문자열
expr2 : 시작위치
expr3 : 끝 위치 (생략가능, 생략 시 시작위치에서 끝까지 반환)
사용 예시
SELECT SUBSTR(901223 - 1234567, 1, 6)
FROM dual;
출력 결과
= 901223
LENGTH(expr1)
받은 인수의 문자열 길이를 반환해 준다.
사용 예시
SELECT LENGTH('oracle')
from dual;
출력 결과
= 6
INSTR(expr1, expr2)
문자열(expr1)로부터 특정문자(expr2)의 첫 번째 위치값을 반환해 주는 함수이다.
사용 예시
SELECT instr('HelloWorld', 'o')
FROM dual;
출력 결과
= 5
LPAD(expr1, expr2, expr3)
칼럼이나 대상 문자열을 명시된 자리수에서 오른쪽 정렬을 하고 남은 왼쪽 자리는 특정 기호로 채운다.
expr1 : 반환할 문자열
expr2 : 전체 자리 수
expr3 : 남는 공간을 채울 문자
사용 예시
SELECT LPAD('Oracle', 10, '#')
FROM dual;
출력 결과
= '####Oracle'
RPAD(expr1, expr2, expr3)
칼럼이나 대상 문자열을 명시된 자리수에서 왼쪽 정렬을 하고 남은 오른쪽 자리는 특정 기호로 채운다.
expr1 : 반환할 문자열
expr2 : 전체 자리 수
expr3 : 남는 공간을 채울 문자
사용 예시
SELECT RPAD('Oracle', 10, '#')
FROM dual;
출력 결과
= Oracle####
TRIM(expr1 from expr2)
인수를 2개 받으면서 ,가 아닌from으로 인수를 구분해준다.
문자열 expr2로 부터 특정문자 expr1이 접두어나 접미어에 있다면 삭제해주는 함수.
사용 예시
SELECT trim('H' from 'HelloWorld')
FROM dual;
출력 결과
= 'elloWorld'
REPLACE(expr1, expr2, expr3)
문자열(expr1)로 부터 특정문자(expr2)를 다른문자(expr3)로 교체해주는 함수
사용 예시
SELECT replace('Hello oracle','oracle','World')
FROM dual;
출력 결과
= 'Hello World'
'프로그래밍 > DataBase' 카테고리의 다른 글
[DateBase]그룹함수 (0) | 2021.04.05 |
---|---|
[DataBase]일반 함수 (0) | 2021.03.31 |
[DateBase]ORDER BY (0) | 2021.03.23 |
[DataBase]WHERE (0) | 2021.03.22 |
[DataBase]AS (0) | 2021.03.22 |