REGEXP_SPLIT_TO_TABLE

Se aplica a: SQL Server 2025 (17.x) Base de datos SQL de Azure SQL Database deAzure SQL Managed Instanceen Microsoft Fabric

La REGEXP_SPLIT_TO_TABLE función de expresión regular con valores en tabla devuelve una tabla de cadenas escindidas, delimitadas por el patrón regex. Si no hay ninguna coincidencia con el patrón, la función devuelve la cadena.

REGEXP_SPLIT_TO_TABLE
(
    string_expression,
    pattern_expression [ , flags ]
)

Arguments

string_expression

Expresión de una cadena de caracteres.

Puede ser una constante, variable o columna de cadena de caracteres.

Tipos de datos: char, nchar, varcharo nvarchar.

Note

Las REGEXP_* funciones soportan tipos LOB (varchar(max) y nvarchar(max)) hasta 2 MB para el parámetro string_expression .

pattern_expression

Patrón de expresión regular que debe coincidir. Normalmente, un literal de texto.

Tipos de datos: char, nchar, varcharo nvarchar. pattern_expression admite una longitud máxima de caracteres de 8000 bytes.

flags

Uno o varios caracteres que especifican los modificadores usados para buscar coincidencias. El tipo es varchar o char, con un máximo de 30 caracteres.

Por ejemplo: ims. El valor predeterminado es c. Si se proporciona una cadena vacía (' '), se tratará como el valor predeterminado ('c'). Proporcione c o cualquier otra expresión de caracteres. Si la marca contiene varios caracteres contradictorios, SQL Server usa el último carácter.

Por ejemplo, si especifica ic la expresión regular devuelve coincidencias que distinguen mayúsculas de minúsculas.

Si el valor contiene un carácter distinto de los enumerados en Valores de marca admitidos, la consulta devuelve un error como el ejemplo siguiente:

Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Valores de marca admitidos
Flag Description
i No distingue mayúsculas de minúsculas (valor predeterminado false)
m Modo de varias líneas: ^ y $ coinciden con la línea de inicio y finalización, además del texto de inicio y finalización (valor predeterminado false)
s Permitir que . coincida \n (valor predeterminado false)
c Distingue mayúsculas de minúsculas (valor predeterminado true)

Returns

REGEXP_SPLIT_TO_TABLE devuelve la tabla de dos columnas siguiente:

Nombre de la columna Tipo de dato Description
value Mismo tipo que string_expression o varchar Si se encuentra el delimitador, es la subcadena coincidente. De lo contrario, es toda la expresión.
ordinal bigint Valor de índice basado en 1 de cada posición de subcadena de la expresión de entrada.

Devuelve una división de tabla 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

Compatibilidad con la plataforma

Requiere el nivel de compatibilidad de la base de datos 170. Para establecer el nivel de compatibilidad de la base de datos, revisa ALTER DATABASE (Transact-SQL) nivel de compatibilidad. El requisito de nivel de compatibilidad no se aplica si la configuración ALLOW_BUILTIN_TVF_IN_ALL_COMPAT_LEVELS con alcance de base de datos está habilitada.

  • En Azure SQL Managed Instance, las funciones de expresión regular de T-SQL están disponibles solo con la política de actualización de fecha SQL Server 2025 o Always-up-to.
  • Las funciones de expresión regular de T-SQL están disponibles en Azure SQL Database, SQL Database en Fabric y a partir de SQL Server 2025.
  • Las funciones de expresión regular de T-SQL no están disponibles en SQL Server 2022 ni en versiones anteriores.
  • En Fabric Data Warehouse, las funciones REGEXP_SPLIT_TO_TABLE y REGEXP_MATCHES de expresión regular con valores de tabla no están soportadas. Las funciones escalares de expresiones regulares de T-SQL están disponibles como función de vista previa en Fabric Data Warehouse.