Instr (MDX)Instr (MDX)

이 항목은 다음에 적용됩니다.예SQL Server(2012부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

다른 문자열 내에서 한 문자열의 시작 위치를 반환합니다.Returns the position of the first occurrence of one string within another.

구문Syntax

InStr([start, ]searched_string, search_string[, compare])  

인수Arguments

시작start
(선택 사항) 각 검색의 시작 위치를 설정하는 숫자 식입니다.(Optional) A numeric expression that sets the starting position for each search. 이 값을 생략하면 첫 번째 문자 위치에서 검색이 시작됩니다.If this value is omitted, the search begins at the first character position. start가 null인 경우에는 함수 반환 값이 정의되지 않습니다.If start is null, the function return value is undefined.

searched_stringsearched_string
검색할 문자열 식입니다.The string expression to be searched.

search_stringsearch_string
검색할 문자열 식입니다.The string expression that is to be searched for.

비교Compare
(선택 사항) 정수 값입니다.(optional) An integer value. 이 인수는 항상 무시되며,This argument is always ignored. 다른 호환을 위해 정의 된 Instr 다른 언어의 함수입니다.It is defined for compatibility with other Instr functions in other languages.

반환 값Return Value

정수 값의 시작 위치와 String2String1합니다.An integer value with the starting position of String2 in String1.

또한 InStr 함수는 조건에 따라 다음 표에 나열 된 값을 반환 합니다.Also, InStr function returns the values listed in the following table depending on the condition:

조건Condition 반환 값Return value
String1의 길이가 0인 경우String1 is zero-length 영(0)zero (0)
String1이 Null인 경우String1 is null 정의되지 않음undefined
String2의 길이가 0인 경우String2 is zero-length startstart
String2가 Null인 경우String2 is null 정의되지 않음undefined
String2를 찾을 수 없는 경우String2 is not found 영(0)zero (0)
start가 Len(String2)보다 큰 경우start is greater than Len(String2) 영(0)zero (0)

주의Remarks

경고

Instr 항상 대/소문자 구분 비교를 수행 합니다.Instr always performs a case-insensitive comparison.

예제Example

다음 예제에서는의 사용법을 보여 줍니다.는 Instr 함수 및 다른 표시 시나리오 발생 합니다.The following example shows the usage of the Instr function and shows different result scenarios.

with   
    member [Date].[Date].[Results] as "Results"  
    member measures.[lowercase found in lowercase string] as InStr( "abcdefghijklmnñopqrstuvwxyz", "o")  
    member measures.[uppercase found in lowercase string] as InStr( "abcdefghijklmnñopqrstuvwxyz", "O")  
    member measures.[searched string is empty]            as InStr( "", "o")  
    member measures.[searched string is null]             as iif(IsError(InStr( null, "o")), "Is Error", iif(IsNull(InStr( null, "o")), "Is Null","Is undefined"))  
    member measures.[search string is empty]              as InStr( "abcdefghijklmnñopqrstuvwxyz", "")  
    member measures.[search string is empty start 10]     as InStr(10, "abcdefghijklmnñopqrstuvwxyz", "")  
    member measures.[search string is null]               as iif(IsError(InStr( null, "o")), "Is Error", iif(IsNull(InStr( null, "o")), "Is Null","Is undefined"))  
    member measures.[found from start 10]                 as InStr( 10, "abcdefghijklmnñopqrstuvwxyz", "o")  
    member measures.[NOT found from start 17]             as InStr( 17, "abcdefghijklmnñopqrstuvwxyz", "o")  
    member measures.[NULL start]                          as iif(IsError(InStr( null, "abcdefghijklmnñopqrstuvwxyz", "o")), "Is Error", iif(IsNull(InStr( null, "abcdefghijklmnñopqrstuvwxyz", "o")), "Is Null","Is undefined"))  
    member measures.[start greater than searched length]  as InStr( 170, "abcdefghijklmnñopqrstuvwxyz", "o")  

select  [Results] on columns,  
       { measures.[lowercase found in lowercase string]  
       , measures.[uppercase found in lowercase string]  
       , measures.[searched string is empty]  
       , measures.[searched string is null]  
       , measures.[search string is empty]  
       , measures.[search string is empty start 10]  
       , measures.[search string is null]  
       , measures.[found from start 10]  
       , measures.[NOT found from start 17]  
       , measures.[NULL start]   
       , measures.[start greater than searched length]  
       } on rows  

from [Adventure Works]  

다음 표에서는 얻게 되는 결과를 보여 줍니다.The following table displays the obtained results.

결과Results
소문자 문자열에 소문자가 있습니다.lowercase found in lowercase string 1616
소문자 문자열에 대문자가 있습니다.uppercase found in lowercase string 1616
검색된 문자열이 비어 있습니다.searched string is empty 00
검색된 문자열이 null입니다.searched string is null 정의되지 않음Is undefined
검색 문자열이 비어 있습니다.search string is empty 1.1
검색 문자열이 비어 있습니다(start 10).search string is empty start 10 1010
검색 문자열이 null입니다.search string is null 정의되지 않음Is undefined
start 10에서 찾았습니다.found from start 10 1616
start 17에서 찾을 수 없습니다.NOT found from start 17 00
NULL startNULL start 정의되지 않음Is undefined
start가 검색된 길이보다 큽니다.start greater than searched length 00