Uma função útil do SQL Server é a função Charindex (). Esta função retorna a posição do índice de uma substring.
Este guia analisará como usar a função Charindex para procurar uma substring especificada.
Uso básico
Usamos principalmente a função Charindex para localizar/procurar uma substring de uma posição específica. A função retorna a posição da substring, se encontrada e um número inteiro 0 se não for encontrado.
A sintaxe da função é como:
Charindex (substring, main_string [, start_location]);Argumentos de função e valor de retorno
A função Charindex aceita 3 argumentos:
O parâmetro start_location é opcional. Se o valor do start_position não for especificado, a pesquisa começará no início da string.
O Charindex retorna um int por padrão. No entanto, se a substring for do tipo nvchar (max), varbinária (max) ou varchar (max), a função retorna um tipo bigint.
Exemplos SQL Server Charindex ()
Vejamos alguns exemplos de uso da função Charindex () no SQL Server.
Exemplo 1:
O exemplo abaixo procura uma substring simples.
Selecione Charindex ('SQL', 'Database: SQL Server') como index_Position;A consulta acima deve retornar a posição inicial da substring correspondente.
Um exemplo de saída é como mostrado:
index_PositionNOTA: A posição inicial retornada é baseada em 1 e não baseada em 0.
Exemplo 2
O exemplo abaixo mostra que a posição inicial é baseada em 1.
Selecione Charindex ('Linux', 'Linuxhint') como index_Position;O local resultante é 1, como mostrado abaixo:
index_PositionExemplo 3:
A função Charindex é insensível ao caso. Isso significa que ele corresponderá a uma substring, mesmo que eles não compartilhem um revestimento semelhante.
Selecione Charindex ('Linux', 'Linuxhint') como index_Position;A consulta ainda retorna a primeira posição correspondente da substring pesquisada.
index_PositionExemplo 4:
Suponha que você queira executar uma pesquisa sensível ao caso usando a função Charindex? Para fazer isso, você pode usar o colar para especificar seu agrupamento de destino.
Um exemplo é como mostrado:
Selecione Charindex ('Linux', 'Linuxhint' colate latin1_general_cs_as_ks_ws) como index_position;A consulta acima retornará um número inteiro 0, pois não há substring correspondente.
index_PositionExemplo 5:
Como mencionamos anteriormente, você pode especificar o valor de start_position para definir o início da posição de pesquisa.
Por exemplo, a consulta abaixo define a posição inicial como 10.
Selecione Charindex ('Charindex', 'SQL Server Charindex Tutorial', 10) como index_Position;Em nosso exemplo, a primeira partida da substring está localizada na posição 12.
index_PositionSe definirmos a posição inicial após a primeira partida da substring, a função retornará 0, pois não há outros casos correspondentes.
Selecione Charindex ('Charindex', 'SQL Server Charindex Tutorial', 13) como index_Position;O valor de retorno é como:
index_PositionConclusão
Neste artigo, você entendeu como usar a função Charindex () no SQL Server. Esta função permite procurar uma substring e retornar a posição da primeira caixa correspondente.
Obrigado pela leitura!