Função Charindex do SQL Server

Função Charindex do SQL Server
Strings são blocos fundamentais de construção no mundo do desenvolvimento. Mesmo em bancos de dados, encontramos casos em que precisamos executar operações de string.

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:

  1. Substring - refere -se à substring que a função pesquisará.
  2. main_string - refere -se à sequência literal, expressão ou coluna a partir da qual pesquisar a substring especificada.
  3. start_location - isso especifica o local onde procurar a substring especificada. O local de início é um número inteiro, grande ou expressão que resulta em um número inteiro ou grande tipo inteiro.

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_Position
--------------
11

NOTA: 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_Position
--------------
1

Exemplo 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_Position
--------------
1

Exemplo 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_Position
--------------
0

Exemplo 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_Position
--------------
12

Se 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_Position
--------------
0

Conclusã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!