다음을 통해 공유


CHARINDEX(Transact-SQL)

문자열에서 지정한 식의 시작 위치를 반환합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

CHARINDEX ( expression1 ,expression2 [ , start_location ] ) 

인수

  • expression1
    검색될 문자의 시퀀스가 포함된 입니다. expression1은 문자열 데이터 형식 범주의 식입니다.
  • expression2
    지정한 시퀀스를 검색할 열을 가리키는 식입니다. expression2는 문자열 데이터 형식 범주의 식입니다.
  • start_location
    expression2에서 expression1을 검색하기 시작하는 문자 위치입니다. start_location이 지정되지 않았거나 음수이거나 0이면 expression2의 시작 부분에서 검색을 시작합니다. start_locationbigint 유형이 될 수 있습니다.

반환 유형

expression2varchar(max), nvarchar(max) 또는 varbinary(max) 데이터 형식인 경우 bigint이며 그외의 경우에는 int입니다.

주의

expression1이나 expression2 중 하나만 유니코드 데이터 형식(nvarchar 또는 nchar)일 경우 다른 하나도 유니코드 데이터 형식으로 변환됩니다. CHARINDEX는 text, ntextimage 데이터 형식과 함께 사용할 수 없습니다.

expression1이나 expression2가 NULL일 경우 CHARINDEX는 데이터베이스 호환성 수준이 70 이상일 때 NULL을 반환합니다. 데이터베이스 호환성 수준이 65이하일 경우 CHARINDEX는 expression1expression2가 모두 NULL인 경우에만 NULL을 반환합니다.

expression1expression2 내에 없으면 CHARINDEX가 0을 반환합니다.

CHARINDEX는 입력의 데이터 정렬을 기반으로 비교를 수행합니다. 지정된 데이터 정렬에서 비교를 수행하려면 COLLATE를 사용하여 입력에 명시적 데이터 정렬을 적용할 수 있습니다.

반환된 시작 위치는 0이 아닌 1부터 시작합니다.

다음 코드 예에서는 Document 테이블의 DocumentSummary 열에서 문자 시퀀스 bicycle이 시작되는 위치를 반환합니다.

USE AdventureWorks;
GO
SELECT CHARINDEX('bicycle', DocumentSummary)
FROM Production.Document
WHERE DocumentID = 3;
GO

결과 집합은 다음과 같습니다.

----------- 
48          

다음 예에서는 start_location 매개 변수(옵션)를 사용하여 DocumentSummary 열의 5번째 문자에서 bicycle을 찾기 시작합니다.

USE AdventureWorks;
GO
SELECT CHARINDEX('bicycle', DocumentSummary, 5)
FROM Production.Document
WHERE DocumentID = 3;
GO

결과 집합은 다음과 같습니다.

----------- 
48          

(1 row(s) affected)

다음 예에서는 expression1expression2 내에 없을 때의 결과 집합을 보여 줍니다.

USE AdventureWorks;
GO
SELECT CHARINDEX('bike', DocumentSummary)
FROM Production.Document
WHERE DocumentID =6;
GO

결과 집합은 다음과 같습니다.

----------- 
0          

(1 row(s) affected)

다음 예에서는 COLLATE 함수를 사용합니다.

USE tempdb;
GO
SELECT CHARINDEX ( 'Test', 'Das ist ein Test'  COLLATE Latin1_General_BIN);
GO

참고 항목

참조

+(문자열 연결)(Transact-SQL)
문자열 함수(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기