Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server REPLACE 함수 완벽 가이드 – 문법, 주의사항, 예제 총정리

SQL Server의 REPLACE 함수는 문자열 안에서 특정 부분 문자열을 찾아 다른 문자열로 일괄 교체해 주는 아주 유용한 기능입니다. 이 글에서는 REPLACE 함수의 기본 개념부터 문법, 사용 시 주의사항, 그리고 실전 예제까지 차근차근 살펴보겠습니다.

REPLACE 함수란?

REPLACE 함수는 주어진 문자열에서 지정한 부분 문자열이 나타나는 모든 위치를 새로운 부분 문자열로 대체하는 함수입니다. 데이터 정제, 형식 통일, 잘못된 값 일괄 수정 등 다양한 상황에서 활용됩니다.

REPLACE 함수 문법

SQL Server에서 REPLACE 함수를 사용할 때는 다음과 같은 문법을 따릅니다.

REPLACE(문자열, 찾을_문자열, 바꿀_문자열)

매개변수 설명:

  1. 문자열: 교체 작업을 수행할 원본 문자열입니다.
  2. 찾을_문자열: 원본 문자열 안에서 찾아서 교체할 부분 문자열입니다.
  3. 바꿀_문자열: 찾은 부분 문자열을 대신할 새로운 문자열입니다. 일치하는 모든 항목이 이 값으로 변경됩니다.

REPLACE 함수 사용 시 주의사항

  • REPLACE 함수는 대소문자를 구분하지 않습니다. 즉, 'N'과 'n'을 동일하게 취급하여 둘 다 교체 대상이 됩니다.
  • SQL Server 2005 이상의 모든 버전(SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017 등)에서 사용할 수 있습니다.

REPLACE 함수 예제

다양한 상황에서 REPLACE 함수가 어떻게 동작하는지 예제를 통해 직접 확인해 보겠습니다.

SELECT REPLACE('Quantrimang.com', 'n', '3');
-- 결과: 'Qua3trima3g.com' (n과 N 모두 3으로 대체됨)

SELECT REPLACE('Quantrimang.com', 'quan', '1234');
-- 결과: '1234trimang.com'

SELECT REPLACE('Quantrimang.com', '.com', '1');
-- 결과: 'Quantrimang1'

SELECT REPLACE('Quan Tri Mang', ' ', '0');
-- 결과: 'Quan0Tri0Mang'

첫 번째 예제에서 볼 수 있듯이, REPLACE 함수는 대소문자를 구분하지 않기 때문에 문자열에 포함된 모든 'n'과 'N'이 한꺼번에 '3'으로 바뀌는 것을 확인할 수 있습니다.

실무 활용 팁

REPLACE 함수는 단순 조회뿐 아니라 UPDATE 문과 함께 사용하면 테이블의 데이터를 한 번에 수정할 수 있어 더욱 강력합니다.

-- 전화번호 데이터에서 하이픈(-) 제거하기
UPDATE customers
SET phone = REPLACE(phone, '-', '');

-- 여러 문자를 연속으로 교체하기 (중첩 사용)
SELECT REPLACE(REPLACE(address, '시', '市'), '구', '區') FROM users;

이처럼 REPLACE 함수를 중첩해서 사용하면 하나의 쿼리로 여러 종류의 문자를 동시에 교체할 수도 있습니다. 문자열 데이터를 다루는 업무라면 꼭 익혀두면 좋은 필수 함수입니다.