Eventos
Obtenha a certificação no Microsoft Fabric gratuitamente!
19 de nov., 23 - 10 de dez., 23
Por tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric
Essa função pesquisa uma expressão de caractere dentro de uma segunda expressão de caractere, retornando a posição inicial da primeira expressão, se localizada.
Convenções de sintaxe de Transact-SQL
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
expressionToFind
Uma expressão de caractere que contém a sequência a localizar. expressionToFind tem um limite de 8.000 caracteres.
expressionToSearch
Uma expressão de caractere a ser pesquisada.
start_location
Uma expressão integer ou bigint em que a pesquisa inicia. Se start_location não for especificado, tiver um valor negativo ou for um valor zero (0), a pesquisa começará no início de expressionToSearch.
bigint se expressionToSearch tiver um tipo de dados nvarchar (max) , varbinary (max) ou varchar (max) ; int caso contrário.
Se a expressão expressionToFind ou expressionToSearch tiver um tipo de dados Unicode (nchar ou nvarchar) e o outra expressão não, a função CHARINDEX converterá essa outra expressão em um tipo de dados Unicode. CHARINDEX não pode ser usado com os tipos de dados image, ntext ou text.
Se a expressão expressionToFind ou expressionToSearch tiver um valor NULL, CHARINDEX retornará NULL.
Se CHARINDEX não encontrar expressionToFind em expressionToSearch, CHARINDEX retornará 0.
CHARINDEX efetua comparações com base na ordenação de entrada. Para fazer uma comparação em uma ordenação especificada, use COLLATE para aplicar uma ordenação explícita à entrada.
A posição inicial retornada é com base em 1, não com base em 0.
0x0000 (char(0) ) é um caractere indefinido em ordenações do Windows e não pode ser incluído em CHARINDEX.
Ao usar ordenações de SC, start_location e o valor retornado contam pares substitutos como um caractere, e não dois. Para obter mais informações, consulte Suporte a ordenações e a Unicode.
Este exemplo pesquisa bicycle
na variável de valor de cadeia de caracteres pesquisada @document
.
DECLARE @document VARCHAR(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bicycle', @document);
GO
Veja a seguir o conjunto de resultados.
-----------
48
Este exemplo usa o parâmetro start_location opcional para iniciar a pesquisa para vital
no quinto caractere da variável de valor de cadeia de caracteres pesquisada @document
.
DECLARE @document VARCHAR(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('vital', @document, 5);
GO
Veja a seguir o conjunto de resultados.
-----------
16
(1 row(s) affected)
Este exemplo mostra o conjunto de resultados quando CHARINDEX não localiza expressionToFind em expressionToSearch.
DECLARE @document VARCHAR(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bike', @document);
GO
Veja a seguir o conjunto de resultados.
-----------
0
(1 row(s) affected)
Este exemplo mostra uma pesquisa que diferencia maiúsculas de minúsculas para a cadeia de caracteres 'TEST'
na cadeia de caracteres de pesquisada 'This is a Test``'
.
USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX ( 'TEST',
'This is a Test'
COLLATE Latin1_General_CS_AS);
Veja a seguir o conjunto de resultados.
-----------
0
Este exemplo mostra uma pesquisa que diferencia maiúsculas de minúsculas para a cadeia de caracteres 'Test'
em 'This is a Test'
.
USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
'This is a Test'
COLLATE Latin1_General_CS_AS);
Veja a seguir o conjunto de resultados.
-----------
11
Este exemplo mostra uma pesquisa que não diferencia maiúsculas de minúsculas para a cadeia de caracteres 'TEST'
em 'This is a Test'
.
USE tempdb;
GO
SELECT CHARINDEX ( 'TEST',
'This is a Test'
COLLATE Latin1_General_CI_AS);
GO
Veja a seguir o conjunto de resultados.
-----------
11
Este exemplo retorna o primeiro local da cadeia de caracteres is
na cadeia de caracteres This is a string
, começando da posição 1 (o primeiro caractere) de This is a string
.
SELECT CHARINDEX('is', 'This is a string');
Veja a seguir o conjunto de resultados.
---------
3
Este exemplo retorna o primeiro local da cadeia de caracteres is
na cadeia de caracteres This is a string
começando a pesquisa da posição 4 (o quarto caractere).
SELECT CHARINDEX('is', 'This is a string', 4);
Veja a seguir o conjunto de resultados.
---------
6
Este exemplo mostra o valor retornado quando CHARINDEX não encontra a cadeia de caracteres string_pattern na cadeia de caracteres pesquisada.
SELECT TOP(1) CHARINDEX('at', 'This is a string') FROM dbo.DimCustomer;
Veja a seguir o conjunto de resultados.
---------
0
LEN (Transact-SQL)
PATINDEX (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL)
+ (Concatenação de cadeias de caracteres) (Transact-SQL)
Suporte a ordenações e a Unicode
Eventos
Obtenha a certificação no Microsoft Fabric gratuitamente!
19 de nov., 23 - 10 de dez., 23
Por tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agora