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
등 다른 함수와 조합하는 것이 더 효율적일 수 있습니다.
'Database > Oracle' 카테고리의 다른 글
[ Oracle] 오라클 INSTR() 함수로 문자열 위치 찾기의 모든 것 (0) | 2025.06.03 |
---|---|
[ Oracle] 오라클 SUBSTR() 활용법: 데이터 전처리에 강력한 함수 (0) | 2025.06.03 |
[ Oracle] 오라클 REGR_SXY() 함수로 두 변수 간 선형 회귀 분석하기 (0) | 2025.06.03 |
[Oracle] 오라클 REGR_SYY() 함수란? 분산 분석 및 상관 계수 해석 방법 (0) | 2025.06.02 |
[Oracle] 오라클 REGR_SXX() 함수로 데이터 분산 분석 자동화하기 (0) | 2025.06.02 |