Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
CHARINDEXfonction
Renvoie l’emplacement de la sous-chaîne spécifiée dans une chaîne.
Consultez POSITIONfonction et STRPOSfonction pour des fonctions similaires.
Syntaxe
CHARINDEX( substring, string )
Arguments
- substring
-
Sous-chaîne à rechercher dans la chaîne.
- string
-
Chaîne ou colonne à rechercher.
Type de retour
- INTEGER
-
La CHARINDEX fonction renvoie une
INTEGER
correspondance à la position de la sous-chaîne (base un, pas base zéro). La position est basée sur le nombre de caractères, pas d’octets, de sorte que les caractères à plusieurs octets soient comptés comme des caractères seuls. CHARINDEXrenvoie0
si la sous-chaîne n'est pas trouvée dans la chaîne.
Exemples
Pour renvoyer la position de la chaîne fish
dans le mot dog
, utilisez l’exemple suivant.
SELECT CHARINDEX('fish', 'dog');
+-----------+ | charindex | +-----------+ | 0 | +-----------+
Pour renvoyer la position de la chaîne fish
dans le mot dogfish
, utilisez l’exemple suivant.
SELECT CHARINDEX('fish', 'dogfish');
+-----------+ | charindex | +-----------+ | 4 | +-----------+
L'exemple suivant utilise la SALES table de l'TICKITexemple de base de données. Pour de plus amples informations, veuillez consulter Exemple de base de données.
Pour renvoyer le nombre de transactions de vente distinctes avec une commission supérieure à 999,00 à partir du SALES tableau, utilisez l'exemple suivant. Cette commande compte les commissions supérieures à 999,00 en vérifiant si la décimale est à plus de 4 positions du début de la valeur de la commission.
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 | +-----------+-------+