mssql charindex 예제

Sem imagem cadastrada

테이블의 기존 데이터에 SQL CHARINDEX를 사용할 수 있습니다. 우리는 별도의 열에서 출력을 얻기 위해 사용할 수 있습니다. 다음 예제에서는 Employee 테이블의 empname 열 값에서 문자 R의 위치를 확인 하려고 합니다. SQL CHARINDEX에서 start_location를 하위 문자열로 사용할 수도 있습니다. 예를 들어 위치 24부터 시작하여 결과를 살펴보겠습니다. 문자 위치 24에서 시작하여 특정 하위 문자열을 검색합니다. 하위 문자열 시작 위치가 현재 63에 있는 것을 볼 수 있습니다. 이제 CHARINDEX()로는 할 수 없는 PATINDEX()로 수행할 수 있는 작업의 예가 있습니다. 이 예제에서는 와일드카드 문자를 사용하여 패턴을 검색합니다: 한 번에 여러 행에 대해 실행하는 경우 쿼리에 인라인될 수 있도록 의도적으로 테이블 값 함수를 만들었을 뿐이며, CROSS APPLY를 사용하거나 괄호 안에 위의 예제를 래핑하여 valu로 사용합니다. e SELECT 절에서 (함수 매개 변수 위치에 열 이름을 넣을 수 있음). 이 예제에서는 검색된 문자열 `This is the Test“에서 `TEST` 문자열에 대한 대/소문자를 구분하는 검색을 보여 주며, 이 예제에서는 문자열의 첫 번째 위치가 문자열에 반환됩니다.이 문자열의 위치 1 (첫 번째 문자)에서 시작 하는 문자열입니다.

이전 예제에서는 지정된 문자열에서 특정 문자를 검색했습니다. 또한 문자열에서도 하위 문자열을 검색할 수 있습니다. 여기서 이 예제에서는 기호 파이프로 구분된 범주 목록이 있습니다.| 이전 예제에서는 대/소문자 구분 검색을 사용하지 않았습니다. 예를 들어 다음 쿼리에서는 문자열에서 하위 문자열 sqlshack을 검색하려고 합니다. 이 하위 문자열은 존재하지만 대문자로 존재합니다. 이 예제에서는 선택적 start_location 매개 변수를 사용하여 검색된 문자열 값 변수 @document 다섯 번째 문자에서 중요 한 검색을 시작합니다. 위의 예에서는 CHARINDEX와 함께 SUBSTRING이라는 다른 SQL 함수를 사용하여 검색된 문자열에서 값을 가져옵니다. 이 예제에서는 검색된 문자열 값 변수 @document 자전거를 검색합니다.

이 함수는 매우 긴 문자열에서도 작동하고 꽤 잘 수행됩니다 (100,000 자 문자열에 대해 실행했으며 589 ms로 반환됨). 사용 방법의 예는 다음과 같습니다: 지정된 문자열에서 하위 문자열을 검색한다고 가정해 보겠습니다. 문자열에는 여러 개의 일치하는 하위 문자열이 있습니다. 예를 들어 다음 쿼리에서 SQLShack을 검색하고 해당 위치를 찾으려고 합니다. 이 예제에서는 CHARINDEX가 검색된 문자열에서 string_pattern을 찾지 못하는 경우 반환 값을 보여 주며, CHARINDEX는 예제 2를 계속하면 동적으로 찾아야하는 손 앞에 start_location가 없다고 가정해 봅시다. 이 이메일 주소에서 두 번째 점(.)의 위치를 얻으려고 한다고 가정합니다.