SQL Charindex

SQL Charindex
Operações de string e string são recursos universais em todos os bancos de dados. Portanto, é quase impossível ter um banco de dados não trivial sem o uso de informações de string e texto.

Este artigo discutirá uma operação de string padrão: usando o SQL Legacy e Standard para encontrar uma substring dentro de outra string.

SQL Legacy

Podemos encontrar a posição de uma substring no Legacy SQL usando a função Instr ().

A função leva uma string e uma substring como os argumentos. Em seguida.

Se a substring não for encontrada, a função retornará 0.

A sintaxe da função é expressa abaixo:

Instr ('String', 'Substring');

Podemos usar esta função como mostrado abaixo:

Selecione Instr ('Linuxhint', 'Dica') como posição;

Deve voltar:

POSIÇÃO
6

Como mencionado, o índice de posição começa de 1 e não 0.

SQL padrão

No SQL padrão, usamos a função strpos () para obter a localização de uma substring. A função leva dois argumentos: a string e a subtring.

Em seguida, retorna uma posição baseada em 1 índice da primeira ocorrência da substring. Se a substring não for encontrada, a função retornará 0.

A sintaxe é como mostrado abaixo:

Strpos (string, substring);

Exemplo de uso desta função é como mostrado abaixo:

Selecione
Strpos ('linuxhint', 'dica') como posição;

A consulta deve devolver a posição como mostrado:

POSIÇÃO
6

Motor de banco de dados específico

Vários mecanismos de banco de dados fornecem funções diferentes para determinar a posição de uma substring. Embora a funcionalidade permaneça a mesma, a nomeação de funções é diferente em vários mecanismos de banco de dados.

PostgreSQL e MySQL

Tanto o PostgreSQL quanto o MySQL usam a função POSITION () para obter a localização de uma substring. Um exemplo de uso é como mostrado:

Selecione Posição ('Dica' em 'Linuxhint') como posição;

Observe que a função usa o operador no IN para especificar qual substring para pesquisar. Isso deve retornar:

POSIÇÃO
----------
6
(1 linha)

No MySQL, você também pode usar a função locate () para encontrar a posição de uma substring. Um exemplo de uso é mostrado abaixo:

mysql> selecione Locate ('Dica', 'Linuxhint');
-> 6

MS SQL Server

No servidor SQL, usamos a função Charindex () para determinar a posição de uma substring. Um exemplo de uso é mostrado abaixo:

Selecione Charindex ('Dica', 'Linuxhint');
-> 6

IBM DB2

No DB2, você pode encontrar a posição da substring usando a função posstr (). Um exemplo é mostrado abaixo:

Selecione POSTR ('DINT', 'Linuxhint');
-> 6

Conclusão

Neste artigo, exploramos vários métodos e técnicas para localizar a posição de uma substring no legado e no SQL padrão. Também discutimos cada variação dos métodos para vários mecanismos de banco de dados.

Para saber mais sobre o SQL padrão e legado, fique atento aos artigos do Linuxhint.