Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de análisis SQL en Microsoft Fabric
Almacenamiento en Microsoft Fabric
Esta función busca una expresión de caracteres dentro de una segunda expresión de caracteres, y devuelve la posición inicial de la primera expresión si se encuentra.
Convenciones de sintaxis de Transact-SQL
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
expressionToFind
Una expresión de caracteres que contiene la secuencia que se va a buscar. expressionToFind tiene un límite de 8000 caracteres.
expressionToSearch
Una expresión de caracteres que se va a buscar.
start_location
Una expresión integer o bigint donde empieza la búsqueda. Si no se especifica start_location, tiene un valor negativo o un valor cero (0), la búsqueda empieza al principio de expressionToSearch.
bigint si expressionToSearch tiene el tipo de datos nvarchar(max) , varbinary(max) o varchar(max) ; int en caso contrario.
Si expressionToFind o expressionToSearch tiene un tipo de datos Unicode (nchar o nvarchar) y la otra expresión no, la función CHARINDEX convierte esa otra expresión a un tipo de datos Unicode. CHARINDEX no se puede usar con los tipos de datos image, ntext o text.
Si expressionToFind o expressionToSearch tiene un valor NULL, CHARINDEX devuelve NULL.
Si CHARINDEX no encuentra expressionToFind dentro de expressionToSearch, devuelve 0.
CHARINDEX realiza comparaciones en función de intercalación de entrada. Para realizar una comparación de una intercalación especificada, use COLLATE para aplicar una intercalación explícita a la entrada.
La posición inicial devuelta es de base 1, no de base 0.
0x0000 (char(0) ) es un carácter no definido en las intercalaciones de Windows y no se puede incluir en CHARINDEX.
Al usar intercalaciones de SC, start_location y el valor devuelto cuentan los pares suplentes como un carácter, no como dos. Para más información, consulte Compatibilidad con la intercalación y Unicode.
Este ejemplo se busca bicycle
en la variable de valor de cadena de búsqueda @document
.
DECLARE @document VARCHAR(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bicycle', @document);
GO
Este es el conjunto de resultados.
-----------
48
En este ejemplo se usa el parámetro opcional ubicación_inicial para empezar la búsqueda de vital
en el quinto carácter de la variable de valor de cadena de búsqueda @document
.
DECLARE @document VARCHAR(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('vital', @document, 5);
GO
Este es el conjunto de resultados.
-----------
16
(1 row(s) affected)
En este ejemplo se muestra el conjunto de resultados cuando CHARINDEX no encuentra expressionToFind dentro de expressionToSearch.
DECLARE @document VARCHAR(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bike', @document);
GO
Este es el conjunto de resultados.
-----------
0
(1 row(s) affected)
En este ejemplo se muestra una búsqueda con distinción de mayúsculas y minúsculas de la cadena 'TEST'
en la cadena de búsqueda 'This is a Test``'
.
USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX ( 'TEST',
'This is a Test'
COLLATE Latin1_General_CS_AS);
Este es el conjunto de resultados.
-----------
0
En este ejemplo se muestra una búsqueda con distinción de mayúsculas y minúsculas de la cadena 'Test'
en 'This is a Test'
.
USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
'This is a Test'
COLLATE Latin1_General_CS_AS);
Este es el conjunto de resultados.
-----------
11
En este ejemplo se muestra una búsqueda sin distinción de mayúsculas y minúsculas de la cadena 'TEST'
en 'This is a Test'
.
USE tempdb;
GO
SELECT CHARINDEX ( 'TEST',
'This is a Test'
COLLATE Latin1_General_CI_AS);
GO
Este es el conjunto de resultados.
-----------
11
En este ejemplo se devuelve la primera ubicación de la cadena is
en la cadena This is a string
, empezando por la posición 1 (el primer carácter) de This is a string
.
SELECT CHARINDEX('is', 'This is a string');
Este es el conjunto de resultados.
---------
3
En este ejemplo se devuelve la primera ubicación de la cadena is
en la cadena This is a string
, empezando por la posición 4 (el cuarto carácter).
SELECT CHARINDEX('is', 'This is a string', 4);
Este es el conjunto de resultados.
---------
6
En este ejemplo se muestra el valor devuelto cuando CHARINDEX no encuentra la cadena patrón_de_cadena en la cadena buscada.
SELECT TOP(1) CHARINDEX('at', 'This is a string') FROM dbo.DimCustomer;
Este es el conjunto de resultados.
---------
0
LEN (Transact-SQL)
PATINDEX (Transact-SQL)
String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]
+ (Concatenación de cadenas) (Transact-SQL)
Compatibilidad con la intercalación y Unicode
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy