Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Endpoint di analisi SQL di Sql Server 2025 (17.x)
del database
SQL diAzure
in Microsoft Fabric e warehouse neldatabase SQL di Microsoft Fabric
in Microsoft Fabric
La REGEXP_SUBSTR funzione di espressione regolare scalare restituisce un'occorrenza di una sottostringa di una stringa che corrisponde al pattern di espressione regolare. Se non viene trovata alcuna corrispondenza, restituisce NULL.
REGEXP_SUBSTR
(
string_expression,
pattern_expression [ , start [ , occurrence [ , flags [ , group ] ] ] ]
)
Arguments
string_expression
Espressione di una stringa di caratteri.
Può essere una costante, una variabile o una colonna di stringa di caratteri.
Tipi di dati: char, nchar, varcharo nvarchar.
Note
Le REGEXP_* funzioni supportano tipi LOB (varchar(max) e nvarchar(max)) fino a 2 MB per il parametro string_expression .
pattern_expression
Criterio di espressione regolare da trovare. In genere un valore letterale di testo.
Tipi di dati: char, nchar, varcharo nvarchar. pattern_expression supporta una lunghezza massima di caratteri di 8.000 byte.
start
Specificare la posizione iniziale per la ricerca all'interno della stringa di ricerca. Optional. Il tipo è int o bigint.
La numerazione è basata su 1, ovvero il primo carattere nell'espressione è 1 e il valore deve essere >= 1. Se l'espressione iniziale è minore di 1, restituisce l'errore . Se l'espressione iniziale è maggiore della lunghezza di string_expression, la funzione restituisce NULL. Il valore predefinito è 1.
occurrence
Espressione (numero intero positivo) che specifica quale occorrenza dell'espressione del criterio all'interno della stringa di origine deve essere eseguita la ricerca o la sostituzione. Il valore predefinito è 1. Cerca il primo carattere del string_expression. Per un numero intero positivo n, cerca l'n occorrenza che inizia con il primo carattere dopo la prima occorrenza del pattern_expression e così via.
flags
Uno o più caratteri che specificano i modificatori usati per la ricerca di corrispondenze. Il tipo è varchar o char, con un massimo di 30 caratteri.
Ad esempio, ims. Il valore predefinito è c. Se viene specificata una stringa vuota (' '), verrà considerata come valore predefinito ('c'). Specificare c o qualsiasi altra espressione di carattere. Se il flag contiene più caratteri contraddittori, SQL Server usa l'ultimo carattere.
Ad esempio, se si specifica ic l'espressione regolare restituisce la corrispondenza con distinzione tra maiuscole e minuscole.
Se il valore contiene un carattere diverso da quelli elencati in Valori flag supportati, la query restituisce un errore simile all'esempio seguente:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Valori dei flag supportati
| Flag | Description |
|---|---|
i |
Senza distinzione tra maiuscole e minuscole (impostazione predefinita false) |
m |
Modalità a più righe: ^ e $ corrispondenza della riga iniziale/finale oltre al testo di inizio/fine (impostazione predefinita false) |
s |
Let . match \n (impostazione predefinita false) |
c |
Distinzione tra maiuscole e minuscole (impostazione predefinita true) |
group
Specifica quale gruppo di acquisizione (sottoespressione) di un pattern_expression determina la posizione all'interno di string_expression da restituire. Il gruppo di acquisizione (sottoespressione) è un frammento di modello racchiuso tra parentesi e può essere annidato.
I gruppi di acquisizione sono numerati nell'ordine in cui vengono visualizzate le parentesi sinistra. Il tipo di dato del gruppo è int e il valore deve essere maggiore o uguale a 0, e non deve essere maggiore del numero di gruppi di cattura (sottoespressioni) in pattern_expression. Il valore predefinito del gruppo è 0, che indica che la posizione si basa sulla stringa che corrisponde all'intero pattern.
Valore restituito
String.
Supporto della piattaforma
- In Istanza gestita di SQL di Azure, le funzioni di espressioni regolari T-SQL sono disponibili solo con la politica di aggiornamentoSQL Server 2025 o Always-up-to-date.
- Le funzioni di espressione regolare T-SQL sono disponibili in database SQL di Azure, SQL database in Fabric e a partire da SQL Server 2025.
- Le funzioni di espressione regolare T-SQL non sono disponibili in SQL Server 2022 o versioni precedenti.
- Le funzioni scalari di espressioni regolari di T-SQL sono disponibili come funzione di anteprima in Fabric Data Warehouse. Per maggiori informazioni, vedi Funzioni di espressioni regolari in Fabric Data Warehouse. Le funzioni a valori di tabella con espressioni regolari di T-SQL non sono disponibili in Fabric Data Warehouse.
Examples
Estrarre il nome di dominio da un indirizzo di posta elettronica.
SELECT REGEXP_SUBSTR(EMAIL, '@(.+)$', 1, 1, 'i', 1) AS DOMAIN
FROM CUSTOMERS;
Trovare la prima parola in una frase che inizia con una vocale.
SELECT REGEXP_SUBSTR(COMMENT, '\b[aeiou]\w*', 1, 1, 'i') AS WORD
FROM FEEDBACK;
Ottenere le ultime quattro cifre di un numero di carta di credito.
SELECT REGEXP_SUBSTR(CARD_NUMBER, '\d{4}$') AS LAST_FOUR
FROM PAYMENTS;