Instr (MDX)Instr (MDX)

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Restituisce la posizione della prima occorrenza di una stringa all'interno di un'altra stringa.Returns the position of the first occurrence of one string within another.

SintassiSyntax

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

ArgomentiArguments

iniziostart
(Facoltativo) Espressione numerica che imposta la posizione iniziale per ciascuna ricerca.(Optional) A numeric expression that sets the starting position for each search. Se questo valore viene omesso, la ricerca inizia in corrispondenza della posizione del primo carattere.If this value is omitted, the search begins at the first character position. Se start è Null, il valore restituito dalla funzione è indefinito.If start is null, the function return value is undefined.

searched_stringsearched_string
Espressione stringa in cui eseguire la ricerca.The string expression to be searched.

search_stringsearch_string
Espressione stringa di cui eseguire la ricerca.The string expression that is to be searched for.

ConfrontareCompare
(Facoltativo) Valore intero.(optional) An integer value. Questo argomento viene sempre ignorato.This argument is always ignored. È definito per la compatibilità con altri Instr funzioni in altri linguaggi.It is defined for compatibility with other Instr functions in other languages.

Valore restituitoReturn Value

Valore intero con la posizione iniziale di String2 in String1.An integer value with the starting position of String2 in String1.

Inoltre, InStr funzione restituisce i valori elencati nella tabella seguente, a seconda della condizione:Also, InStr function returns the values listed in the following table depending on the condition:

CondizioneCondition Valore restituitoReturn value
String1 ha una lunghezza zeroString1 is zero-length zero (0)zero (0)
String1 è NullString1 is null Non definitoundefined
String2 ha una lunghezza zeroString2 is zero-length startstart
String2 è NullString2 is null Non definitoundefined
String2 non trovatoString2 is not found zero (0)zero (0)
start è maggiore di Len(String2)start is greater than Len(String2) zero (0)zero (0)

OsservazioniRemarks

Avviso

InStr sempre esegue un confronto tra maiuscole e minuscole.Instr always performs a case-insensitive comparison.

EsempioExample

Nell'esempio seguente viene illustrato l'utilizzo del Instr (funzione) e vengono mostrati diversi scenari di risultato.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]  

Nella tabella seguente vengono illustrati i risultati ottenuti.The following table displays the obtained results.

RisultatiResults
carattere minuscolo trovato in stringa minuscolalowercase found in lowercase string 1616
carattere maiuscolo trovato in stringa minuscolauppercase found in lowercase string 1616
stringa ricercata vuotasearched string is empty 00
stringa ricercata Nullsearched string is null Non definitoIs undefined
stringa di ricerca vuotasearch string is empty 11
stringa di ricerca vuota start 10search string is empty start 10 1010
stringa di ricerca Nullsearch string is null Non definitoIs undefined
trovato da start 10found from start 10 1616
NOT trovato da start 17NOT found from start 17 00
start NULLNULL start Non definitoIs undefined
start maggiore della lunghezza ricercatastart greater than searched length 00