Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CHARINDEXfunzione
Restituisce la posizione della sottostringa specificata all'interno di una stringa.
Per funzioni simili, consulta POSITIONfunzione e STRPOSfunzione.
Sintassi
CHARINDEX( substring, string )
Argomenti
- sottostringa
-
La sottostringa da cercare all'interno della stringa.
- stringa
-
La stringa o colonna da ricercare.
Tipo restituito
- INTEGER
-
La CHARINDEX funzione restituisce un valore
INTEGER
corrispondente alla posizione della sottostringa (a base singola, non a base zero). La posizione si basa sul numero di caratteri, non di byte, pertanto i caratteri multibyte vengono contati come caratteri singoli. CHARINDEXrestituisce0
se la sottostringa non si trova all'interno della stringa.
Esempi
Per restituire la posizione della stringa fish
all'interno della parola dog
, utilizza l'esempio seguente.
SELECT CHARINDEX('fish', 'dog');
+-----------+ | charindex | +-----------+ | 0 | +-----------+
Per restituire la posizione della stringa fish
all'interno della parola dogfish
, utilizza l'esempio seguente.
SELECT CHARINDEX('fish', 'dogfish');
+-----------+ | charindex | +-----------+ | 4 | +-----------+
L'esempio seguente utilizza la SALES tabella del database di TICKIT esempio. Per ulteriori informazioni, consulta Database di esempio.
Per restituire dalla SALES tabella il numero di transazioni di vendita distinte con una commissione superiore a 999,00, utilizzare l'esempio seguente. Questo comando conta le commissioni superiori a 999,00 controllando se il valore decimale è superiore a 4 posizioni dall'inizio del valore della commissione.
SELECT DISTINCT CHARINDEX('.', commission), COUNT (CHARINDEX('.', commission)) FROM sales WHERE CHARINDEX('.', commission) > 4 GROUP BY CHARINDEX('.', commission) ORDER BY 1,2;
+-----------+-------+ | charindex | count | +-----------+-------+ | 5 | 629 | +-----------+-------+