본문 바로가기
Database/Oracle

[ Oracle] 오라클 CONCAT() 함수로 텍스트 데이터 처리하는 법

by 코드개미 2025. 6. 3.

오라클 CONCAT() 함수로 텍스트 데이터 처리하는 법
[Oracle] CONCAT

 

1. CONCAT 함수란?

CONCAT 함수는 두 개의 문자열을 연결하는 Oracle 내장 함수입니다. 오라클에서는 || 연산자도 문자열 연결에 사용되지만, CONCAT 함수는 가독성이 높고 SQL 표준에도 부합합니다.

CONCAT(string1, string2)

이 함수는 항상 두 개의 인자만 허용하며, 그 외의 문자열을 연결하려면 중첩해서 사용하거나 || 연산자와 함께 써야 합니다.

2. 기본 사용 예제

SELECT CONCAT('Hello', 'World') AS result FROM dual;
-- 결과: HelloWorld

두 문자열 사이에 공백을 넣고 싶다면, 아래처럼 사용합니다.

SELECT CONCAT('Hello', ' World') AS result FROM dual;
-- 결과: Hello World

3. 중첩 사용 예제

세 개 이상의 문자열을 연결하려면 CONCAT을 중첩해서 사용하거나, || 연산자를 함께 사용할 수 있습니다.

SELECT CONCAT(CONCAT(first_name, ' '), last_name) AS full_name
FROM employees;

또는 더 간단하게:

SELECT first_name || ' ' || last_name AS full_name
FROM employees;

4. 실제 테이블 예제

예제 테이블: users

CREATE TABLE users (
  user_id NUMBER,
  first_name VARCHAR2(50),
  last_name VARCHAR2(50),
  email VARCHAR2(100)
);

INSERT INTO users VALUES (1, 'Kim', 'Jisoo', 'jisoo@sample.com');
INSERT INTO users VALUES (2, 'Lee', 'Minho', 'minho@sample.com');

문자열 연결 예제

SELECT 
  user_id,
  CONCAT(first_name, last_name) AS name_no_space,
  CONCAT(CONCAT(first_name, ' '), last_name) AS full_name
FROM users;

5. CONCAT 함수와 || 연산자 비교

항목 CONCAT 함수 || 연산자
결합 개수 2개만 가능 제한 없음
가독성 높음 중간
유연성 낮음 높음
표준 SQL 호환 높음 보통

6. 문자열 연결 시 유의점

  • NULL이 포함된 경우, 연결 결과도 NULL이 됩니다.
  • 공백 문자 처리는 개발자가 직접 문자열 안에 삽입해야 합니다.
  • 가독성과 유지보수를 위해 너무 많은 중첩 사용은 지양합니다.

7. 결론

Oracle의 CONCAT 함수는 간단한 문자열 연결 작업에서 유용하게 사용됩니다. 하지만 복잡한 연결에는 || 연산자 또는 REGEXP_REPLACE, LISTAGG 등 다른 함수와 조합하는 것이 더 효율적일 수 있습니다.

📚 참고 자료

  • Oracle 공식 문서: docs.oracle.com
  • Oracle SQL Developer 사용자 가이드
  • TechRepublic: Oracle SQL 문자열 처리 팁