Função INSTR() do MySQL

Funcao Instr Do Mysql



Neste tutorial, aprenderemos como usar a função INSTR() do MySQL para determinar a posição da primeira ocorrência de uma determinada substring.

Função INSTR() do MySQL

Usando a função instr(), podemos fornecer uma string e uma substring. A função determinará se a substring existe na string de origem. Se a substring existir, a função retornará a posição da primeira ocorrência da substring na string de origem.

Se a substring não existir na string de origem, a função retornará 0.







O seguinte demonstra a sintaxe da função instr():



INSTR(src_string, sub_string);

A função aceita dois parâmetros principais:



  1. O src_string refere-se à string de origem na qual você deseja pesquisar.
  2. A sub_string define a substring que você está procurando.

É bom ter em mente que a função instr() não diferencia maiúsculas de minúsculas. Portanto, a função localizará apenas os padrões correspondentes sem levar em consideração as letras maiúsculas e minúsculas,





Para realizar uma pesquisa com distinção entre maiúsculas e minúsculas, você pode usar outras ferramentas, como o operador binário.

Exemplo de uso da função

Os exemplos a seguir demonstram como podemos usar a função instr() para pesquisar uma substring específica.



SELECT INSTR('MySQL é um incrível mecanismo de banco de dados', 'banco de dados') as pos;

O exemplo acima retornará a posição inicial da string “database” da string fonte. Nesse caso, a posição da string do banco de dados é 21, conforme mostrado na saída abaixo:

pos|

---+

21|

Exemplo 2

Podemos usar as funções lower() ou upper para converter uma string em letras minúsculas ou maiúsculas. Isso pode nos ajudar a superar a natureza sensível a maiúsculas e minúsculas da função.

Exemplo:

SELECT INSTR(lower('MySQL é um incrível mecanismo de banco de dados'), lower('DATABASE')) as pos;

Resultado:

pos|

---+

21|

Isso retornará um valor semelhante ao primeiro exemplo, pois a string de origem e a substring são convertidas em letras minúsculas antes da operação de pesquisa.

Exemplo 3

Também podemos usar a função instr() com uma coluna de tabela, conforme mostrado na sintaxe abaixo.

SELECT INSTR(column_name, 'substring')

FROM nome_da_tabela;

Exemplo:

CRIAR TABELA blogs (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

título VARCHAR(255) NÃO NULO,

conteúdo TEXTO NÃO NULO,

data_postada DATA NÃO NULA,

autor VARCHAR(255) NOT NULL

);

Insira alguns dados:

INSERT INTO blogs (title, content, date_posted, author)

VALORES ('Meu primeiro post no blog', 'Este é o conteúdo do meu primeiro post no blog.', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (title, content, date_posted, author)

VALORES ('Minha segunda postagem no blog', 'Este é o conteúdo da minha segunda postagem no blog.', '2022-12-10', 'Jane Doe');

INSERT INTO blogs (title, content, date_posted, author)

VALORES ('Minha terceira postagem no blog', 'Este é o conteúdo da minha terceira postagem no blog.', '2022-12-11', 'Jane Doe');

selecione * de blogs;

Tabela resultante:

Podemos usar a função instr() para obter a posição da substring ‘blog’ na coluna de conteúdo, conforme mostrado:

selecione título, instr(conteúdo, 'postagem') de blogs;

Resultado:

Conclusão

Neste tutorial, você aprendeu como usar a função INSTR() no MySQL para encontrar a posição de uma substring dentro de uma string. A função diferencia maiúsculas de minúsculas. Portanto, pode ser necessário usar funções como inferior e superior para converter as strings de pesquisa nos casos desejados.