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에서 문자열을 자유롭게 조작할 수 있습니다! 🎉
궁금한 점이 있다면 댓글로 남겨주세요. 😊
'Programming' 카테고리의 다른 글
📌 MSSQL에서 그룹별 최신 데이터 가져오기 (0) | 2025.03.09 |
---|---|
🔗 MSSQL에서 JOIN 다루기 – 기본부터 고급 활용까지! 🚀 (0) | 2025.03.08 |
💡 MSSQL에서 날짜(VARCHAR ↔ DATE) 변환 방법 총정리 (0) | 2025.03.06 |
[Python] 바이낸스API로 비트코인 1분봉 가져오기 (0) | 2023.01.19 |
[Python] 업비트API로 비트코인 1분봉 가져오기 (0) | 2023.01.17 |