REGEXP_SPLIT_TO_TABLE

Aplica-se a: SQL Server 2025 (17.x) Base de Dados SQL do Azure AzureSQL Managed InstanceSQL database in Microsoft Fabric

A REGEXP_SPLIT_TO_TABLE função de expressão regular com valores em tabela devolve uma tabela de cadeias divididas, delimitada pelo padrão regex. Se não houver correspondência com o padrão, a função retornará a cadeia de caracteres.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

Arguments

string_expression

Uma expressão de uma cadeia de caracteres.

Pode ser uma constante, variável ou coluna de cadeia de caracteres.

Tipos de dados: char, nchar, varcharou nvarchar.

Note

As REGEXP_* funções suportam tipos LOB (varchar(max) e nvarchar(max)) até 2 MB para o parâmetro string_expression .

pattern_expression

Padrão de expressão regular a ser correspondido. Geralmente um texto literal.

Tipos de dados: char, nchar, varcharou nvarchar. pattern_expression suporta um comprimento máximo de caracteres de 8.000 bytes.

flags

Um ou mais caracteres que especificam os modificadores usados para pesquisar correspondências. Type é varchar ou char, com um máximo de 30 caracteres.

Por exemplo, ims. A predefinição é c. Se uma (' ') de cadeia de caracteres vazia for fornecida, ela será tratada como o valor padrão ('c'). Forneça c ou quaisquer outras expressões de caracteres. Se o sinalizador contiver vários caracteres contraditórios, o SQL Server usará o último caractere.

Por exemplo, se você especificar ic o regex retornará a correspondência que diferencia maiúsculas de minúsculas.

Se o valor contiver um caractere diferente daqueles listados em valores de sinalizador suportados, a consulta retornará um erro como o exemplo a seguir:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Valores de sinalizador suportados
Flag Description
i Não diferencia maiúsculas de minúsculas (padrão false)
m Modo multi-linha: e ^ corresponder a linha de início/fim, $ além do texto de início/fim (padrãofalse)
s Deixar . corresponder \n (padrão false)
c Diferencia maiúsculas de minúsculas (padrão true)

Returns

REGEXP_SPLIT_TO_TABLE Devolve a seguinte tabela de duas colunas:

Nome da coluna Tipo de dados Description
value Mesmo tipo que string_expression ou varchar Se o delimitador for encontrado, é a substring correspondente. Caso contrário, é toda a expressão.
ordinal bigint Valor de índice baseado em 1 de cada posição de substring da expressão de entrada.

Retornar uma divisão de tabela para 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

Suporte da plataforma

Requer o nível de compatibilidade do banco de dados 170. Para definir o nível de compatibilidade da base de dados, reveja ALTER DATABASE (Transact-SQL) nível de compatibilidade. O requisito de nível de compatibilidade não se aplica se a configuração ALLOW_BUILTIN_TVF_IN_ALL_COMPAT_LEVELS com âmbito de base de dados estiver ativada.

  • Em Azure SQL Managed Instance, as funções de expressões regulares do T-SQL estão disponíveis apenas com a política de atualização de data SQL Server 2025 ou Always-up-to.
  • As funções de expressão regular do T-SQL estão disponíveis no Base de Dados SQL do Azure, SQL Database no Fabric e a partir do SQL Server 2025.
  • As funções de expressão regular do T-SQL não estão disponíveis no SQL Server 2022 ou versões anteriores.
  • Em Fabric Data Warehouse, as funções REGEXP_SPLIT_TO_TABLE e REGEXP_MATCHES de tabela de expressão regular não são suportadas. As funções escalares de expressões regulares do T-SQL estão disponíveis como funcionalidade de pré-visualização no Fabric Data Warehouse.