Compartir a través de


REGEXP_SPLIT_TO_TABLE versión preliminar

Se aplica a: SQL Server 2025 (17.x) Versión preliminar de la base de datos SQL de Azure SQL Database deAzure SQL Managed Instanceen Microsoft Fabric

Nota:

Como característica en versión preliminar, la tecnología que se presenta en este artículo está sujeta a los términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Devuelve una tabla de cadenas dividida, delimitada 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 ]
     )

Requiere el nivel de compatibilidad de la base de datos 170. Para establecer el nivel de compatibilidad de la base de datos, revise el nivel de compatibilidad de ALTER DATABASE (Transact-SQL).

Argumentos

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.

Nota:

Las REGEXP_LIKEfunciones , REGEXP_COUNTy REGEXP_INSTR admiten tipos loB (varchar(max) y nvarchar(max)) hasta 2 MB para el parámetro string_expression .

expresión_de_patron

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.

marcas

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
Bandera Descripción
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)

Devoluciones

REGEXP_SPLIT_TO_TABLE devuelve la tabla de dos columnas siguiente:

Nombre de la columna Tipo de dato Descripción
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