Programming

🛠 MSSQL에서 STRING 조작 (문자열 합치기, 자르기, 치환하기)

quantoasis 2025. 3. 7. 14:59
반응형

MSSQL을 사용할 때 문자열(String) 데이터를 합치기(Concatenation), 자르기(Substring), 치환하기(Replace) 하는 기능은 필수입니다. 이번 포스팅에서는 MSSQL에서 문자열을 다루는 기본 함수와 실전 활용법을 알아보겠습니다. 🚀


📌 1. 문자열 합치기 (Concatenation)

MSSQL에서 문자열을 합치는 방법은 + 연산자 또는 CONCAT() 함수를 사용하는 것입니다.

✅ + 연산자 사용

SELECT 'Hello, ' + 'World!' AS Result;

🔹 결과: Hello, World!

주의사항: NULL 값이 포함되면 결과가 NULL이 됩니다.

SELECT 'Hello, ' + NULL AS Result; 

🔹 결과: NULL 반환

이를 방지하려면 ISNULL() 또는 COALESCE()를 사용합니다.

SELECT 'Hello, ' + ISNULL(NULL, 'Default') AS Result; 

🔹 결과: Hello, Default


✅ CONCAT() 함수 사용 (추천)

CONCAT() 함수는 NULL 값이 포함되어도 자동으로 빈 문자열('')로 처리합니다.

SELECT CONCAT('Hello, ', 'World!') AS Result;

🔹 결과: Hello, World!

NULL 값이 포함된 경우:

SELECT CONCAT('Hello, ', NULL, 'World!') AS Result;

🔹 결과: Hello, World! (NULL이 무시됨)


✂️ 2. 문자열 자르기 (Substring)

MSSQL에서 문자열을 일부만 잘라내는 경우 SUBSTRING() 함수를 사용합니다.

SELECT SUBSTRING('MSSQL Tutorial', 1, 5) AS Result;

🔹 결과: MSSQL
(문자열의 1번 인덱스부터 5글자를 추출)

✅ 실전 예제: 이메일 아이디 추출

이메일 주소에서 @ 앞부분만 추출하는 방법:

SELECT SUBSTRING('test@example.com', 1, CHARINDEX('@', 'test@example.com') - 1) AS Username;

🔹 결과: test


🔄 3. 문자열 치환하기 (Replace)

특정 문자열을 다른 문자열로 바꿀 때 REPLACE() 함수를 사용합니다.

SELECT REPLACE('MSSQL is awesome!', 'awesome', 'powerful') AS Result;

🔹 결과: MSSQL is powerful!

✅ 실전 예제: 전화번호 포맷 변경

하이픈(-)이 포함된 전화번호를 제거하려면:

SELECT REPLACE('010-1234-5678', '-', '') AS CleanPhoneNumber;

🔹 결과: 01012345678


🚀 4. 실전 예제: 문자열 조작 종합 예제

아래 SQL을 실행하면 이름과 이메일을 조합하여 사용자 정보를 표시하는 예제를 확인할 수 있습니다.

DECLARE @FullName NVARCHAR(100) = '김철수'; 
DECLARE @Email NVARCHAR(100) = 'chulsoo@example.com';

SELECT CONCAT(@FullName, '님의 이메일은 ', @Email, ' 입니다.') AS UserInfo
, SUBSTRING(@Email, 1, CHARINDEX('@', @Email) - 1) AS EmailID
, REPLACE(@Email, '@example.com', '@mydomain.com') AS UpdatedEmail;

🔹 결과:

UserInfo: 김철수님의 이메일은 chulsoo@example.com 입니다. 
EmailID: chulsoo 
Updated Email: chulsoo@mydomain.com

🎯 마무리

MSSQL에서 문자열 조작은 데이터 전처리 및 분석에서 필수적인 기능입니다.

문자열 합치기: + 연산자, CONCAT() (NULL 처리에 유리)
문자열 자르기: SUBSTRING() + CHARINDEX()
문자열 치환하기: REPLACE()

이제 MSSQL에서 문자열을 자유롭게 조작할 수 있습니다! 🎉
궁금한 점이 있다면 댓글로 남겨주세요. 😊

반응형