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à.
Restituisce la posizione della sottostringa specificata all'interno di una stringa.
Per funzioni simili, consulta Funzione POSITION e Funzione STRPOS.
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 funzione CHARINDEX restituisce un valore
INTEGER
corrispondente alla posizione della sottostringa (basata su uno, non su zero). La posizione si basa sul numero di caratteri, non di byte, pertanto i caratteri multibyte vengono contati come caratteri singoli. CHARINDEX restituisce0
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 |
+-----------+
Nell'esempio seguente viene utilizzata la tabella SALES del database di esempio TICKIT. Per ulteriori informazioni, consulta Database di esempio.
Per restituire il numero di transazioni di vendita distinte con una commissione superiore a 999,00 dalla tabella SALES, utilizza 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 |
+-----------+-------+