구분자로 자르기
문자열: 'I;AM;TW'
-- ';' 기준으로 앞 자르기
SELECT LEFT('I;AM;TW', CHARINDEX(';', 'I;AM;TW')-1);
설명: CHARINDEX 함수로 구분자 (;) 의 위치를 알아내 LEFT함수로 잘라준다.
;구분자는 왼쪽에서 2번째에 위치하므로 CHARINDEX(';','I;AM;TW') 는 2를 출력한다.
결과: I
-- ';' 기준으로 중간 자르기
SELECT SUBSTRING(
'I;AM;TW'
, CHARINDEX(';', 'I;AM;TW')+1
, LEN('I;AM;TW')
-CHARINDEX(';', ''I;AM;TW')
-CHARINDEX(';',, REVERSE('I;AM;TW')));
설명: SUBSTRING 함수를 사용, 중간 문자열의 시작점을 계산 (CHARINDEX(';','I;AM;TW')+1) 후
결과: AM
-- ';' 기준으로 뒤 자르기
SELECT RIGHT('I;AM;TW', CHARINDEX(';', REVERSE('I;AM;TW'))-1);
설명: 앞 자르기와 비슷하다. REVERSE 함수로 문자열을 뒤집어 구분자 ; 위치를 알아낸 후 RIGHT함수로 잘라낸다.
결과: TW
REFERENCE: https://blog.edit.kr/m/1445?category=613943
'SQL > MS-SQL & SQL Server Management Studio' 카테고리의 다른 글
[MSSQL] BEGIN TRAN 사용하기 (0) | 2019.11.27 |
---|---|
[MS SQL] LOCK 사용자 조회 (0) | 2019.11.19 |
[Ms sql] 문자열 함수 (0) | 2019.10.10 |
[MS SQL] CURSOR 개념 / 사용법 (0) | 2019.10.01 |
[MS-SQL] UNION / UNION ALL 차이 (0) | 2019.10.01 |
댓글