Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2025 (17.x) Versión preliminar
de la base de datos SQL de Azure SQL Database
deAzure SQL Managed Instance
en Microsoft Fabric
Nota
Como característica en versión preliminar, la tecnología presentada en este artículo está sujeta a Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Devuelve la posición inicial o final de la subcadena coincidente, según el valor del argumento return_option
.
REGEXP_INSTR
(
string_expression,
pattern_expression
[, start [, occurrence [, return_option [, flags [, group ] ] ] ] ]
)
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_LIKE
funciones , REGEXP_COUNT
y 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.
iniciar
Especifica la posición inicial de la búsqueda dentro de la cadena de búsqueda. Opcional. El tipo es int o bigint.
La numeración se basa en 1, lo que significa que el primer carácter de la expresión es 1
y el valor debe ser >= 1
. Si la expresión start es menor que 1
, devuelve el error. Si la expresión start es mayor que la longitud de string_expression, la función devuelve 0
. El valor predeterminado es 1
.
de repetición
Expresión (entero positivo) que especifica la aparición de la expresión de patrón dentro de la cadena de origen que se va a buscar o reemplazar. El valor predeterminado es 1
. Busca en el primer carácter del string_expression. Para un entero n
positivo, busca la nth
aparición comenzando por el primer carácter después de la primera aparición de la pattern_expression, etc.
return_option
Especifica si se devuelve la posición inicial o final de la subcadena coincidente. Use 0
para el principio y 1
para el final. El valor predeterminado es 0
. La consulta devuelve un error para cualquier otro valor.
marca
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 ) |
de grupo de
Especifica qué grupo de capturas (subexpression
) de un pattern_expression determina la posición dentro de string_expression que se va a devolver. El grupo es un fragmento de patrón entre paréntesis y se puede anidar. Los grupos se numeran en el orden en que sus paréntesis izquierdos aparecen en el patrón. El valor es un entero y debe ser y no debe ser >= 0
mayor que el número de grupos de la pattern_expression. El valor predeterminado es 0
, que indica que la posición se basa en la cadena que coincide con toda la pattern_expression.
Si el valor es mayor que el número de grupos de pattern_expression, la función devuelve 0
.
Valor devuelto
Entero.
Ejemplos
Busque la posición de la primera subcadena que contiene solo dígitos en la columna PRODUCT_DESCRIPTION
.
SELECT REGEXP_INSTR(PRODUCT_DESCRIPTION, '\d+')
FROM PRODUCTS;
Busque la posición de la tercera aparición de la letra a
(sin distinción entre mayúsculas y minúsculas) en la columna PRODUCT_NAME
.
SELECT REGEXP_INSTR(PRODUCT_NAME, 'a', 1, 3, 0, 'i')
FROM PRODUCTS;
Busque la posición del final de la primera subcadena que comienza con t
y termina con e
(distingue mayúsculas de minúsculas) en la columna PRODUCT_DESCRIPTION
.
SELECT REGEXP_INSTR(PRODUCT_DESCRIPTION, 't.*?e', 1, 1, 1)
FROM PRODUCTS;