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ÇÃOComo 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:
SelecioneA consulta deve devolver a posição como mostrado:
POSIÇÃOMotor 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ÇÃONo 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');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');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');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.