오라클 문자함수 정리(대소문자 변환 / 문자열 길이 / 문자열 조작, SUBSTR, TRIM, PAD..)
오라클 데이터베이스는 데이터 처리와 관리를 위한 강력한 기능들을 제공하는데, 그 중에서도 문자열 처리를 위한 다양한 함수들이 존재합니다.
이번 글에서는 오라클 문자함수에 대해 자세히 알아 볼텐데요, 대소문자 변환, 문자열 길이 반환, 그리고 문자 조작 함수 등을 포함하여 각 함수들의 사용법과 예를 살펴보도록 하겠습니다.
대소문자 변환 함수
- INITCAP : 문자열의 첫 번째 문자를 대문자로 변환
- LOWER : 문자열 전체를 소문자로 변환
- UPPER : 문자열 전체를 대문자로 변환
1. INITCAP
- 첫 번째 문자를 대문자로 변환하고, 나머지 문자들은 소문자로 변환
- Oracle뿐 아니라 PostgresSQL에서도 사용할 수 있음(SQL Server, MySQL에서는 직접 함수를 작성해야 함)
- 사용법 : INITCAP(expr)
SELECT INITCAP('hello world!!!!'); -- 결과 : Hello world!!!! SELECT INITCAP('sql is GOOOOD'); -- 결과 : Sql is gooood
2. LOWER
- 문자열 전체를 소문자로 변환
- 사용법 : LOWER(expr)
SELECT LOWER('Hello World!!!!'); -- 결과 : hello world!!!! SELECT LOWER('SQL IS FUN'); -- 결과 : sql is fun
3. UPPER
- UPPER 함수는 문자열 전체를 대문자로 변환
- 사용법 : UPPER(expr)
SELECT UPPER('hello world!!!!'); -- 결과 : HELLO WORLD!!!! SELECT UPPER('sql is fun'); -- 결과 : SQL IS FUN
문자열 길이 반환 함수
- LENGTH : 문자열 길이를 반환
- LENGTHB : 문자열 바이트 수를 반환
LENGTH
- 문자열의 길이를 반환(문자열 내에 있는 문자의 개수를 숫자로 반환)
- 사용법 : LENGTH(문자열)
SELECT LENGTH('Hello'); -- 결과 : 5 SELECT LENGTH('어디가세요'); -- 결과 : 5 SELECT LENGTH('SQL is GOOD!'); -- 결과 : 12
LENGTHB
- 문자열의 바이트 수를 반환(문자열이 차지하는 메모리 크기를 바이트 단위로 계산하여 그 값을 숫자로 반환)
- 사용법 : LENGTHB(문자열)
SELECT LENGTHB('Hello'); -- 결과 : 5 SELECT LENGTHB('어디가세요'); -- 결과 : 15 (UTF-8의 인코딩에서 한글은 각 3바이트로 표현됨) SELECT LENGTHB('SQL is GOOD!'); -- 결과 : 12
문자 조작 함수
- CONCAT : 두 문자열을 결합합니다. ‘||’와 동일한 역할
- SUBSTR : 특정 문자 또는 문자열 일부를 추출
- INSTR : 특정 문자가 출현하는 첫 번째 위치를 반환
- LPAD : 오른쪽 정렬 후 왼쪽에 지정문자를 삽입
- RPAD : 왼쪽 정렬 후 오른쪽에 지정문자를 삽입
- LTRIM : 왼쪽의 지정문자를 삭제
- RTRIM : 오른쪽의 지정문자를 삭제
CONCAT
- 두 문자열을 결합하여 하나의 문자열로 만듭니다.
- 사용법 : CONCAT(문자열1, 문자열2)
SELECT CONCAT('Hello', ' World'); -- 결과: 'Hello World' SELECT CONCAT('I ', 'love ', 'SQL'); -- 결과: 'I love SQL'
SUBSTR
- 특정 문자열의 일부를 추출
- 사용법 : SUBSTR(원본문자열, 시작위치, 추출할문자수)
SELECT SUBSTR('Hello World', 7, 5); -- 결과: 'World' SELECT SUBSTR('Database', 1, 4); -- 결과: 'Data'
INSTR
- 특정 문자가 출현하는 첫 번째 위치를 반환
- 사용법 : INSTR(원본문자열, 찾을문자열)
SELECT INSTR('Hello World', 'o'); -- 결과: 5 (첫 번째 'o'의 위치) SELECT INSTR('SQL is fun!', 'fun'); -- 결과: 8 (첫 번째 'fun'의 위치)
LPAD
- 오른쪽 정렬된 문자열을 왼쪽에 지정한 문자로 채움
- 사용법 : LPAD(원본문자열, 전체길이, 채울문자)
SELECT LPAD('123', 5, '0'); -- 결과: '00123' SELECT LPAD('SQL', 8, '*'); -- 결과: '******SQL'
RPAD
- 왼쪽 정렬된 문자열을 오른쪽에 지정한 문자로 채움
- 사용법 : RPAD(원본문자열, 전체길이, 채울문자)
SELECT RPAD('ABC', 6, '-'); -- 결과: 'ABC---' SELECT RPAD('Python', 10, '_'); -- 결과: 'Python____'
LTRIM
- 왼쪽의 지정문자를 삭제
- 사용법 : LTRIM(원본문자열, 삭제할문자)
SELECT LTRIM(' Hello'); -- 결과: 'Hello' (왼쪽의 공백 제거) SELECT LTRIM('000123', '0'); -- 결과: '123' (왼쪽의 '0' 제거)
RTRIM
- 오른쪽의 지정문자를 삭제
- 사용법 : RTRIM(원본문자열, 삭제할문자)
SELECT RTRIM('Hello '); -- 결과: 'Hello' (오른쪽의 공백 제거) SELECT RTRIM('123000', '0'); -- 결과: '123' (오른쪽의 '0' 제거)
이번 글에서는 오라클에서 제공하는 문자 함수들에 대해 알아보았는데요, 대소문자 변환, 문자열 길이 반환, 문자 조작 함수의 사용법을 적절히 활용하여 쿼리문을 통해, 데이터들을 효율적으로 다루시기 바랍니다!
이전 글 – [오라클] 조인 INNER JOIN(EQUI JOIN과 NON-EQUI JOIN)에 대해 알아보자
이전 글 – 오라클 데이터 조작어 DML(INSERT, UPDATE, DELETE) 활용 방법
이전 글 – 오라클 데이터 무결성 제약조건 정리 (기본키,외래키,참조키, 제약조건 생성, 추가, 삭제, 비활성화)
이전 글 – 오라클 인덱스에 대해 알아보자 (데이터베이스 실무에서 효율적으로 사용 할 수 있는 Oracle Index)
이전 글 – 오라클 뷰(VIEW) 조회 및 사용방법 (개념과 특징,종류, 장단점, 인라인뷰)
이전 글 – 오라클 사용자 권한 제어 (4가지 – 시스템 권한, 객체 권한, 롤, 동의어)
이전 글 – 오라클(데이터 웨어하우스) 분석 함수(효과적인 데이터 다차원 분석을 위한 강력한 도구)
이전 글 – 오라클 스케줄러와 JOB 관리 방법
이전 글 – 오라클 테이블 복구(테이블 데이터 복원하기)