SQL에서 문자열을 자르거나, 붙이거나, 대체하는 등
가공할 수 있는 문자형 함수를 알아보자.
함수명 | 의미 |
LOWER(str) | 소문자로 변환 |
UPPER(str) | 대문자로 변환 |
INITCAP(str) | 단어의 첫 문자만 대문자로 변환 |
LENGTH(str) | 문자열 길이 |
LENGTHB(str) | 문자열의 바이트 길이 |
INSTR(str,특정문자) | 특정 문자의 위치를 반환 |
SUBSTR(str,위치,길이) |
해당 위치에서 길이만큼 문자열을 추출
|
CONCAT(str1,str2) | str1, str2를 결합 |
TRIM(str) | 문자열의 양쪽 공백을 제거 |
LTRIM(str, 특정문자) | 문자열에서 왼쪽에 특정문자를 제거 |
RTIM(str, 특정문자) | 문자열에서 오른쪽에 특정문자를 제거 |
LPAD(str, 길이, 추가문자열) | 왼쪽에 추가문자열을 붙임 |
REPLACE(str,찾는문자열,대체문자열) | 문자열에서 찾는 문자열을 대체문자열로 변경 |
TRANSLATE(str,찾는문자열,대체문자열) | 문자열에서 찾는 문자열길이만큼 대체문자열로 변경 |
대소문자 변환( LOWER, UPPER, INITCAP )
LOWER('hELlo'), UPPER('hELlo'), INITCAP('hELlo') 로 쿼리를 작성했을 때 결과이다.

문자열 길이( LENGTH, LENGTHB )
LENGTH는 문자열의 길이를,
LENGTHB는 문자열의 바이트 길이가 결과로 출력된다.

문자열 추출 및 위치찾기( SUBSTR, INSTR )
SUBSTR( name, 1, 1 ) 이름에서 앞에 성만 추출
INSTR( email, '@' ) 이메일에서 @문자의 위치값을 찾음

문자제거( TRIM, LTRIM, RTRIM )


문자추가( LPAD, RPAD )
앞자리나 뒷자리를 0으로 채워서 자릿수를 맞출 때 유용하다.

길이가 오버되면 추가되는 문자열이 잘려서 들어간다.


문자결합( CONCAT )
Name과 Position컬럼을 서로 결합하여 보여주는 쿼리이다.

문자변환( REPLACE, TRANSLATE )
REPLACE는 길이와 상관없이 대체되지만
TRANSLATE는 찾은 문자열 길이만큼만 대체된다.


<< 오라클DATABASE 11g와 함께하는 SQL과 PL/SQL>> 참고하여 작성
'공부 > DB' 카테고리의 다른 글
SQL 날짜형 함수 (1) | 2025.08.11 |
---|---|
SQL 숫자형 함수 (0) | 2025.08.11 |
비교연산자 (6) | 2025.08.11 |
산술연산자 (2) | 2025.08.11 |
온라인 쿼리 연습 (3) | 2025.08.11 |