본문 바로가기
데이터베이스[DB]/MSSQL

[MSSQL] CHARINDEX - 특정 문자 찾기

by 낭만의개꿈 2024. 3. 13.

 

MS-SQL 에서 특정 문자를 찾는 함수에 대해서 예제를 통해 확인하도록 하자.

 

우선, CHARINDEX 는 2가지 인수를 사용하는 기본 사용법이 있고, 3가지 인수를 지정하여 특정 위치보다 문자를 찾을 수도 있다.

 

CHARINDEX
  • 2가지 인수를 이용하여 문자열 찾기
-- 구문 사용법
SELECT CHARINDEX('찾을문자열', '지정문자열')

-- EX
SELECT CHARINDEX ('다', '가나다라마바사아') AS Result

'다' 의 위치인 3이 반환되어 표기

 

  • 3가지 인수를 이용하여 지정 위치부터 검색을 시작
SELECT CHARINDEX('찾을문자열', '지정문자열', '검색시작위치')

/*
가나다라마바다사아 의 5번째 위치부터 시작하기 때문에 '다'가 2군데여도 5 이상인 7번째 '다'가 Result 로 표기
*/
SELECT CHARINDEX ('다', '가나다라마바다사아', 5) AS Result

 

지정문자열 5번째 위치부터 시작하여 '다'의 위치인 7이 반환되어 표기

 

 


◈ TIP 

사용자가 입력한 데이터 중 간혹 개행문자로 인해 원하는 데이터 추출이 진행되지 않는 경우들이 있다.

데이터를 조회해도 눈에 보이지 않는 저장값이 있어 아래의 쿼리가 간혹 필요하다.

/* carriage return - 음표 모양으로 표기되는 경우들 존재 */
SELECT CHARINDEX (CHAR(ASCII(13)), '지정문자열') AS Result

/* line feed - 네모칸 모양으로 표기되는 경우들 존재 */
SELECT CHARINDEX (CHAR(ASCII(10)), '지정문자열') AS Result