쿼리 작성시에 문자열 내에서 특정 문자를 바꾸거나 제거해야 하는 경우가 종종 있어요. MS-SQL 에서 이럴때 쓰는 함수가 바로 REPLACE 함수예요.
REPLACE 함수는 문자열 내에서 특정문자 또는 단어를 다른 문자 혹은 단어로 변경하는 함수에요
🔹 REPLACE 함수란?
REPLACE는 SQL Server에서 문자열 내의 특정 문자열을 다른 문자열로 치환할 때 사용하는 함수입니다. 사용법이 단순하면서도, 데이터 정제나 전처리에 매우 유용합니다.
1.REPLACE 기본문법
REPLACE ( original_string, string_to_replace, replacement_string )
- original_string : 원래의 전체 문자열
- string_to_replace : 바꾸고자 하는 부분 문자열
- replacement_string : 치환할 문자열
2. REPLACE 예제
예제 1: 단순 문자열 치환
SELECT REPLACE('Hello World', 'World', 'SQL') AS Result;
📌 결과: Hello SQL
예제 2: 테이블 컬럼에 적용하기
SELECT
CustomerName,
REPLACE(CustomerName, 'Co.', 'Company') AS CleanName
FROM Customers;
🔍 CustomerName 컬럼에서 "Co."를 "Company"로 바꿔줍니다.
예제 3: 여러 단어를 순차적으로 치환
SELECT
REPLACE(REPLACE('abc_def_ghi', '_', '-'), 'def', 'XYZ') AS Result;
📌 결과: abc-XYZ-ghi ( REPLACE는 중첩 사용이 가능합니다. 순차적 변환 시 유용합니다.)
3. REPLACE 주의 사항
- 대소문자 구분 안 함:
REPLACE('Hello', 'H', 'h') → hello - NULL 처리:
REPLACE(NULL, 'a', 'b') → 결과도 NULL - 숫자도 문자열처럼 인식됨:
숫자형이라도 VARCHAR처럼 치환 가능 (자동 캐스팅)
4. REPLACE 실무 활용 팁
- 전화번호 포맷 변경
SELECT REPLACE('010-1234-5678', '-', '') AS PhoneClean;
-- 결과: 01012345678
- HTML 태그 제거 시 일부 치환
SELECT REPLACE(REPLACE('<p>Hello</p>', '<p>', ''), '</p>', '') AS CleanText;
-- 결과: Hello
- 특수문자 제거
SELECT REPLACE('Hello@World#', '@', '') AS Step1,
REPLACE(REPLACE('Hello@World#', '@', ''), '#', '') AS Step2;
-- 결과: HelloWorld# , HelloWorld
🧩 대체 함수와 비교
함수 | 기능 |
REPLACE | 문자열 전체 치환 |
STUFF | 문자열의 일부를 다른 문자열로 바꿈 (위치 기준) |
SUBSTRING + + | 문자열 일부 재구성 |
TRANSLATE (SQL 2017+) | 다중 문자 치환, 성능 우수 |
✅ 마무리
MSSQL의 REPLACE 함수는 단순하지만 강력한 문자열 처리 도구예요.
실무에서는 전화번호 정리, 주소 포맷 수정, HTML 제거 등 다양한 곳에서 활용되요.
여러 줄 치환이 필요하다면 REPLACE 중첩을 고려하고, 복잡할 경우 TRANSLATE, REGEXP_REPLACE 등을 사용하는 것도 좋아요.
💬 읽어주셔서 감사합니다.
공감 + 댓글 은 큰 힘이 됩니다.
여러분의 응원은 컨텐츠 제작에 큰 힘이 됩니다! 😊
2025.06.05 - [MS-SQL] - [MS-SQL] SUBSTRING, LEFT, RIGHT 함수 완전정복 – 문자열 추출 실무 예제 정리
[MS-SQL] SUBSTRING, LEFT, RIGHT 함수 완전정복 – 문자열 추출 실무 예제 정리
🔍 요약: SQL에서 문자열을 추출하고 싶다면 SUBSTRING, LEFT, RIGHT 함수를 활용하세요. 주민번호, 전화번호 포맷 등 실무에 딱 맞는 예제를 정리했습니다. 쿼리 작성할때 문자열의 일부분을 잘라서
kjh11225it.tistory.com
'MS-SQL' 카테고리의 다른 글
[MS-SQL] STUFF 함수 완벽 정리 – 문자열 조작의 핵심 함수! (1) | 2025.06.11 |
---|---|
[MS-SQL] SUBSTRING, LEFT, RIGHT 함수 완전정복 – 문자열 추출 실무 예제 정리 (0) | 2025.06.09 |
MS-SQL에서는 LPAD 없다고요? 직접 구현하는 방법까지 알려드립니다 (0) | 2025.06.08 |
[MS-SQL] DATEADD 함수 사용법 – 날짜 더하고 빼는 실무 활용 예제 (0) | 2025.06.07 |
[MS-SQL] DATEDIFF 함수로 날짜 차이 계산하기 – 실무 예제로 쉽게 배우기 (0) | 2025.06.06 |