Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server 2025 (17.x) Préversion de
la base de données SQL Azure SQL Database
Azure SQL Managed Instance
SQL dans Microsoft Fabric
Remarque
En tant que fonctionnalité en préversion, la technologie présentée dans cet article est soumise à conditions d’utilisation supplémentaires pour les préversions Microsoft Azure.
Retourne une occurrence d’une sous-chaîne d’une chaîne qui correspond au modèle d’expression régulière. Si aucune correspondance n’est trouvée, elle retourne NULL
.
REGEXP_SUBSTR
(
string_expression,
pattern_expression [, start [, occurrence [, flags [, group ] ] ] ]
)
Les 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.
Remarque
Les REGEXP_LIKE
fonctions et REGEXP_COUNT
les REGEXP_INSTR
types métier prennent en charge les types métier (varchar(max) et nvarchar(max)) jusqu’à 2 Mo pour le paramètre string_expression.
expression_de_modèle
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.
démarrer
Spécifiez la position de départ de la recherche dans la chaîne de recherche. Optionnel. 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
, retourne une erreur. Si l’expression de début est supérieure à la longueur de string_expression, la fonction retourne NULL
. La valeur par défaut est 1
.
occurrence
Expression (entier positif) qui spécifie l’occurrence de l’expression de modèle dans la chaîne source à rechercher ou remplacer. La valeur par défaut est 1
. Recherche au premier caractère du string_expression. Pour un entier positif n, il recherche la nième occurrence commençant par le premier caractère suivant la première occurrence du pattern_expression, etc.
indicateurs
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
Drapeau | Descriptif |
---|---|
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 ) |
groupe
Spécifie le groupe de capture (sous-expression) d’un pattern_expression détermine la position dans string_expression à retourner. Le groupe de capture (sous-expression) est un fragment de modèle placé entre parenthèses et peut être imbriqué. Les groupes de capture sont numérotés dans l’ordre dans lequel leurs parenthèses gauches apparaissent. Le type de données du groupe est entier et la valeur doit être supérieure ou égale à 0 et ne doit pas être supérieure au nombre de groupes de capture (sous-expressions) dans pattern_expression. La valeur de groupe par défaut est 0, ce qui indique que la position est basée sur la chaîne qui correspond à l’intégralité du modèle.
Valeur de retour
Corde.
Exemples
Extrayez le nom de domaine d’une adresse e-mail.
SELECT REGEXP_SUBSTR(EMAIL, '@(.+)$', 1, 1, 'i', 1) AS DOMAIN
FROM CUSTOMERS;
Recherchez le premier mot dans une phrase qui commence par une voyelle.
SELECT REGEXP_SUBSTR(COMMENT, '\b[aeiou]\w*', 1, 1, 'i') AS WORD
FROM FEEDBACK;
Obtenez les quatre derniers chiffres d’un numéro de carte de crédit.
SELECT REGEXP_SUBSTR(CARD_NUMBER, '\d{4}$') AS LAST_FOUR
FROM PAYMENTS;