728x90
charindex 함수
문자열에서 특정 문자의 위치를 숫자로 반환하는 함수입니다.
인수가 2개인 경우도 있고 3개를 사용하는 경우도 있습니다.
사용법
--인수가 2개인 경우
CHARINDEX('찾을문자열','지정문자열')
--인수가 3개인 경우
CHARINDEX('찾을문자열','지정문자열',위치값)
예제
--bebe 라는 문자열에서 e 라는 문자의 위치를 반환하시오.
--(4번째에도 e가 있지만 먼저 나온 문자를 찾아서 위치를 반환합니다.)
SELECT CHARINDEX('e','bebe') -- 2
--bebe 문자열 3번째 위체에서 b 라는 문자의 위치를 반환하시오.
SELECT CHARINDEX('b','bebe',3) -- 3
--bebe 문자열 4번째 위체에서 b 라는 문자의 위치를 반환하시오.
--(4번째 부터 찾으면 e 부터 찾음으로 b라는 문자열을 찾을 수 없기 때문에 0을 반환합니다.)
SELECT CHARINDEX('b','bebe',0) -- 0
charindex 구분자로 자르기
문자열 자르기 함수와 함께 사용되어 특정 구분자로 문자열을 자를 수 있습니다.
예제
-- 주민등록번호 앞자리만 가져오기
SELECT LEFT('901234-1234567',charindex('-','901234-1234567')-1)
-- 주민등록번호 뒷자리만 가져오기
SELECT RIGHT('901234-1234567',charindex('-','901234-1234567'))
이상으로 charindex 함수를 이용한 문자열의 위치를 숫자로 알아내는 방법과
문자열 자르기 함수와 조합하여 구분자를 이용하여 문자열 자르는 방법에 대해서 알아보았습니다.
반응형
그리드형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] 글자 크기, 글꼴 변경 방법 10초면 가능 (0) | 2021.03.11 |
---|---|
[MSSQL] 쿼리문 대문자, 소문자 변경 단축키 (0) | 2021.03.11 |
[MSSQL] 문자열 자르기 3가지 방법(LEFT, RIGHT, SUBSTRING) (0) | 2021.03.11 |
[MSSQL] NULL 값 체크(ISNULL) 및 변환 방법 (0) | 2021.03.11 |
[MSSQL] 인덱스 단편화 확인 & 리빌드 진행 100% 효과 (3) | 2021.03.11 |
댓글