본문 바로가기
개발이야기/MSSQL

[MSSQL] REPLACE 함수: 문자열 대체 기능

by S코델리아2 2024. 7. 11.
728x90
반응형

MSSQL에서 문자열을 다른 문자열로

 

대체 및 변환해야 하는 경우가 있다.

 

그럴 경우에는 REPLACE 함수를 사용하면

 

아주 쉽게 변환할 수 있다.

 

REPLACE 함수의 구조
REPLACE ([대상 문자열], [찾을 문자열], [대체할 문자열])

 

 

REPLACE 예시
-- 기본문자열 - Hello, world!
DECLARE @original_string VARCHAR(100) = 'Hello, World!'

-- World -> SQL Server 로 변환
SELECT REPLACE(@original_string, 'World', 'SQL Server')

 

결과는 'Hello, SQL Server!'가 출력된다.

 

REPLACE 함수는 대/소문자 구분을 하지 않는다.

 

따라서 대/소문자가 다른 경우에도 변환이 이루어진다.

 

REPLACE 예시 2
DECLARE @text VARCHAR(100) = 'apple, banana, cherry'
DECLARE @new_text VARCHAR(100)

SET @new_text = REPLACE(REPLACE(@text, 'apple', 'orange'), 'banana', 'grape')

SELECT @new_text AS NewText -- 결과: orange, grape, cherry

 

REPLACE 함수를 여러 번 사용하여

 

여러 번의 변환 작업을 수행할 수도 있다.

 

REPLACE 예시 3
-- 사용자가 입력한 전화번호에서 '-' 기호 제거
UPDATE Customers
SET Phone = REPLACE(Phone, '-', '')

-- 주소에서 'Street'을 'St.'로 줄임
UPDATE Addresses
SET AddressLine1 = REPLACE(AddressLine1, 'Street', 'St.')

 

REPLACE 예시 4
DECLARE @input_string VARCHAR(100) = NULL
DECLARE @new_string VARCHAR(100)

SET @new_string = REPLACE(@input_string, 'old', 'new')

SELECT @new_string AS NewString -- 결과: NULL

NULL 값을 인식하고 처리한다.

 

입력 NULL이면 REPLACE도 NULL을 반환한다.

 

주의사항

 

  • 대소문자 구분: REPLACE 함수는 기본적으로 대/소문자를 구분하지 않는다.
  • NULL 처리: NULL 값을 인식하고 처리한다.

 

728x90
반응형