Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à : Base de données SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL dans Microsoft Fabric
Compte le nombre de fois où un modèle d’expression régulière est mis en correspondance dans une chaîne.
REGEXP_COUNT
(
string_expression,
pattern_expression [ , start [ , flags ] ]
)
Note
Les expressions régulières sont disponibles dans Azure SQL Managed Instance avec la stratégie de mise à joursql Server 2025 ou Always-up-to-date.
Arguments
string_expression
Expression d’une chaîne de caractères.
Il peut s’agir d’une constante, d’une variable ou d’une colonne de chaîne de caractères.
Types de données : char, nchar, varcharou nvarchar.
Note
Les REGEXP_LIKEfonctions et REGEXP_COUNT les REGEXP_INSTRtypes métier prennent en charge les types métier (varchar(max) et nvarchar(max)) jusqu’à 2 Mo pour le paramètre string_expression.
pattern_expression
Modèle d’expression régulière à mettre en correspondance. Généralement un littéral de texte.
Types de données : char, nchar, varcharou nvarchar. pattern_expression prend en charge une longueur maximale de caractères de 8 000 octets.
start
Spécifiez la position de départ de la recherche dans la chaîne de recherche. Optional. Le type est int ou bigint.
La numérotation est basée sur 1, ce qui signifie que le premier caractère de l’expression est 1 et que la valeur doit être >= 1. Si l’expression de début est inférieure 1à , la pattern_expression retournée commence au premier caractère spécifié dans string_expression. Si l’expression de début est supérieure à la longueur de string_expression, la fonction retourne 0. La valeur par défaut est 1.
Si l’expression de début est inférieure à 1, la requête retourne une erreur.
flags
Un ou plusieurs caractères qui spécifient les modificateurs utilisés pour rechercher des correspondances. Le type est varchar ou char, avec un maximum de 30 caractères.
Par exemple, ims. La valeur par défaut est c. Si une chaîne vide (' ') est fournie, elle sera traitée comme la valeur par défaut ('c'). Fournissez c ou toute autre expression de caractère. Si l’indicateur contient plusieurs caractères contradictoires, SQL Server utilise le dernier caractère.
Par exemple, si vous spécifiez ic l’expression régulière retourne la correspondance respectant la casse.
Si la valeur contient un caractère autre que ceux répertoriés dans valeurs d’indicateur prises en charge, la requête retourne une erreur comme dans l’exemple suivant :
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Valeurs d’indicateur prises en charge
| Flag | Description |
|---|---|
i |
Respect de la casse (valeur par défaut false) |
m |
Mode multiligne : ^ et $ mettre en correspondance la ligne de début/fin en plus du texte de début/fin (valeur par défaut false) |
s |
Laisser . correspondre \n (valeur par défaut false) |
c |
Respect de la casse (valeur par défaut true) |
Valeur retournée
int
Examples
Comptez le nombre de fois où la lettre a apparaît dans chaque nom de produit.
SELECT PRODUCT_NAME,
REGEXP_COUNT(PRODUCT_NAME, 'a') AS A_COUNT
FROM PRODUCTS;
Comptez le nombre de produits dont le nom se termine par ing.
SELECT COUNT(*)
FROM PRODUCTS
WHERE REGEXP_COUNT(PRODUCT_NAME, 'ing$') > 0;
Comptez le nombre de produits dont le nom contient trois consonnes consécutives, ignorant la casse.
SELECT COUNT(*)
FROM PRODUCTS
WHERE REGEXP_COUNT(PRODUCT_NAME, '[^aeiou]{3}', 1, 'i') > 0;