- Catégories :
REGEXP_COUNT¶
Renvoie le nombre de fois qu’un motif se produit dans une chaîne.
Syntaxe¶
Arguments¶
Obligatoire :
subjectLa chaîne à rechercher pour les correspondances.
patternModèle devant correspondre.
Pour des directives sur la spécification des modèles, voir Fonctions de chaîne (expressions régulières).
Facultatif :
positionNombre de caractères depuis le début de la chaîne pour lesquels la fonction commence à rechercher des correspondances. La valeur doit être un entier positif.
Par défaut :
1(la recherche d’une correspondance commence au premier caractère à gauche)parametersChaîne d’un ou plusieurs caractères spécifiant les paramètres utilisés pour la recherche de correspondances. Valeurs prises en charge :
Paramètre
Description
cCorrespondance sensible à la casse
iCorrespondance non sensible à la casse
mMode multiligne
eExtraire les sous-correspondances.
sLe caractère générique
.du mode à une ligne POSIX correspond à\nPar défaut :
cPour plus d’informations, voir Spécification des paramètres de l’expression régulière.
Renvoie¶
Renvoie une valeur de type NUMBER. Renvoie NULL si l’un des arguments est NULL.
Notes sur l’utilisation¶
Reportez-vous aux Notes générales sur l’utilisation pour les fonctions d’expression régulière.
Détails du classement¶
Arguments with collation specifications currently aren’t supported.
Exemples¶
L’exemple suivant compte les occurrences du mot was. Vous pouvez utiliser le métacaractère \b pour indiquer une limite de mot. Dans l’exemple suivant, la correspondance commence au premier caractère de la chaîne w et se terminent au dernier caractère de la chaîne s, et ne correspond donc pas aux mots qui contiennent la chaîne (tels que washing) :
L’exemple suivant utilise le paramètre i pour une correspondance insensible à la casse du caractère e :
L’exemple suivant illustre des occurrences qui se chevauchent : Créer une table et insérer des données :
Exécutez une requête qui utilise REGEXP_COUNT pour compter le nombre de fois que le motif suivant est trouvé dans chaque ligne : un signe de ponctuation suivi de chiffres et de lettres, suivi d’un signe de ponctuation.
Les autres exemples utilisent les données de la table suivante :
La requête suivante renvoie le nombre total de messages pour chaque jour en recherchant le délimiteur (,) et en ajoutant un au total :
Supposons que les erreurs commencent toujours par ER suivi d’un trait d’union et d’un nombre à quatre chiffres. La requête suivante compte le nombre d’erreurs pour chaque jour :