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
반응형
'개발이야기 > MSSQL' 카테고리의 다른 글
[MSSQL] MSSQL PIVOT을 사용하여 행을 열로 변환하기 (0) | 2024.07.10 |
---|---|
[MSSQL] 한글 자동 변환 해결 방법 (0) | 2024.07.10 |
[MSSQL] 데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다. DB 복원 실패 해결 (0) | 2024.07.10 |
[MSSQL] 테이블에 새로운 컬럼 추가하기 (0) | 2024.07.10 |
[MSSQL] 쿼리 이력 조회 (0) | 2024.07.10 |