REPLACE은 MSSQL에서 특정 칼럼의 문자열을 치환, 교체해야 할 때가 있습니다. 예를 들면 아이디 비밀번호 찾기 등을 할 때 전체 아이디를 연동 이메일을 보여주는 것이 아니라 abcd****@naver.com 이런 식으로 중간 문자를 치환해서 보여줘야 할 때(적당한 예가 안떠오르네요)지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿉니다.
구문은
REPLACE ( string_expression , string_pattern , string_replacement )
입니다.
string_expression : 검색할 문자열(칼럼 또는 문자열)
string_pattern : 찾는 문자열 입니다. 공백은 넣을 수 없습니다.
string_replacement : 대체 문자열 입니다.
반환되는 문자열 형식은 데이터 형식이 nvarchar이면 nvarchar를 반환하고 나머지는 varchar를 반환합니다. 인수중 null이 있으면 NULL을 반환합니다.
SELECT REPLACE('ABC_DEF_GHI_DEF@naver.com', 'DEF', '***');
GO
결과는 다음과 같습니다.
---------------------
ABC_***_GHI_***@naver.com
(1 row(s) affected)
테이블에 적용할 때는 이런 형식으로 사용합니다.
SELECT
REPLACE( COL_EMAIL, 'ABC', '***')
FROM
USER_INFO
사실 위와 같은 용도로 사용할 때는 STUFF를 사용하여 치환하는 게 맞는 것 같습니다.
문자열 치환하는 다른 함수 STUFF 확인하려면 아래 링크도 확인해 보세요
https://brandnew-days.tistory.com/entry/MSSQL-STUFF-사용법
감사합니다.
반응형
'개발' 카테고리의 다른 글
[Android] EditText 입력 시 키보드 엔키 기능 변경 하는 두가지 방법 (0) | 2020.05.13 |
---|---|
[Android]인텐트로 객체전달 (0) | 2020.05.08 |
[MSSQL] STUFF(문자열 치환)사용법 (0) | 2020.05.05 |
[이클립스] 검색 단축키 CTRL + H 키 눌렀을 때 File Search 기본으로 설정하기 2가지 방법 (0) | 2020.05.03 |
[android] 하이브리드 앱(WebView)에서 뒤로가기 버튼 두번눌러 종료하기(2초동안) (0) | 2020.04.30 |
댓글