REGEXP_SPLIT_TO_TABLE

Si applica a: Sql Server 2025 (17.x) DatabaseSQL di Azure Istanza gestita di SQL di Azurein Microsoft Fabric

La REGEXP_SPLIT_TO_TABLE funzione di espressione regolare a valori di tabella restituisce una tabella di stringhe divise, delimitate dal pattern regex. Se non esiste alcuna corrispondenza con il criterio, la funzione restituisce la stringa.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

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.

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)

Returns

REGEXP_SPLIT_TO_TABLE restituisce la tabella a due colonne seguente:

Nome colonna Tipo di dati Description
value Stesso tipo di string_expression o varchar Se viene trovato il delimitatore, si tratta della sottostringa corrispondente. In caso contrario, è l'intera espressione.
ordinal bigint Valore dell'indice in base 1 di ogni posizione di sottostringa dall'espressione di input.

Restituisce una divisione di tabella per the quick brown fox jumps over the lazy dog.

SELECT *
FROM REGEXP_SPLIT_TO_TABLE ('the quick brown fox jumps over the lazy dog', '\s+');
Value  Ordinal
the    1
quick  2
brown  3
fox    4
jumps  5
over   6
the    7
lazy   8
dog    9

Supporto della piattaforma

Richiede il livello di compatibilità del database 170. Per impostare il livello di compatibilità del database, si rivedere ALTER DATABASE il livello di compatibilità (Transact-SQL). Il requisito del livello di compatibilità non si applica se la configurazione ALLOW_BUILTIN_TVF_IN_ALL_COMPAT_LEVELS con ambito di database è abilitata.

  • 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.
  • In Fabric Data Warehouse, le funzioni REGEXP_SPLIT_TO_TABLE a valori di tabella a espressione regolare e le REGEXP_MATCHES non sono supportate. Le funzioni scalari di espressioni regolari di T-SQL sono disponibili come funzione di anteprima in Fabric Data Warehouse.