MS-SQL 에서 문자열 관련 함수 중 REPLACE와 REPLICATE 함수에 대해서 확인하도록 하자.
우선, REPLACE 는 문자열 치환 함수라고 부르며, 특정 문자열을 지정한 문자열로 변경한 결과를 반영한다.
REPLACE
- 문자열 치환 함수
DECLARE @txt_comm nvarchar(100)
SET @txt_comm = N'오늘 하루도 행복하게 화이팅!'
SELECT REPLACE(@txt_comm, N'화이팅', N'활기차게')
◈ TIP
@txt_comm 을 nvarchar(100) 으로 유니코드 문자로 선언하며 유니코드 문자임을 알리기 위해 텍스트 앞에 N을 붙여서 처리했다.
유니코드 : 영문자, 숫자, 특수문자 뿐만 아니라 다양한 언어들을 표현할 수 있음. 영문자를 제외한 한국어 한자 등 16bit 가 필요한 언어들을 위해 유니코드가 탄생!
- 특수 문자 치환
DECLARE @txt_comm nvarchar(100), @txt_date nvarchar(10)
SET @txt_comm = N'오늘 하루도 행복하게 화이팅!'
SET @txt_date = '2024/07/01'
SELECT REPLACE(@txt_comm, N'!', N'')
SELECT REPLACE(@txt_date, '/', '-')
특수문자도 REPLACE 를 이용하여 해당 문자를 작성하여 치환이 가능하다.
REPLACE COLLATE Korean_Wansung_CS_AS
- 대소문자를 구분하여 치환
DECLARE @txt_comm nvarchar(100), @txt_date nvarchar(10)
SET @txt_comm = 'Microsoft SQL Server'
SELECT REPLACE(@txt_comm, 'sql', 'test')
SELECT REPLACE(@txt_comm COLLATE Korean_Wansung_CS_AS, 'sql', 'test')
REPLACE 는 기본적으로 대소문자를 구분하지 않는다. 하지만 [ COLLATE Korean_Wansung_CS_AS ] 를 사용하면 대소문자가 정확하게 일치해야만 치환이 가능하다.
'데이터베이스[DB] > MSSQL' 카테고리의 다른 글
[MS-SQL] 인덱스 단편화 조회 및 리빌드 (0) | 2025.01.09 |
---|---|
[MS-SQL] 테이블-컬럼 정보 조회 (0) | 2025.01.01 |
[MS-SQL] FOR JSON PATH - Json형식변 (0) | 2024.10.22 |
[MS-SQL] NEWID() - 랜덤함수 (0) | 2024.06.25 |
[MSSQL] 특정 컬럼명이 포함된 테이블 검색 (0) | 2024.06.14 |
[MSSQL] 프로시저 내부의 문자열 검색 (0) | 2024.06.13 |
[MSSQL] SUM, ISNULL (0) | 2024.03.28 |
[MSSQL] MAX, MIN ( 집계함수 ) (0) | 2024.03.27 |