Funzione MySQL INSTR()

Funzione Mysql Instr



In questo tutorial impareremo come utilizzare la funzione MySQL INSTR() per determinare la posizione della prima occorrenza di una data sottostringa.

Funzione MySQL INSTR()

Usando la funzione instr(), possiamo fornire una stringa e una sottostringa. La funzione determinerà se la sottostringa esiste nella stringa di origine. Se la sottostringa esiste, la funzione restituirà la posizione della prima occorrenza della sottostringa nella stringa di origine.

Se la sottostringa non esiste nella stringa di origine, la funzione restituirà 0.







Quanto segue mostra la sintassi della funzione instr():



INSTR(stringa_sorg, stringa_sotto);

La funzione accetta due parametri principali:



  1. src_string si riferisce alla stringa di origine in cui si desidera cercare.
  2. La sub_string definisce la sottostringa che stai cercando.

È bene tenere presente che la funzione instr() non fa distinzione tra maiuscole e minuscole. Pertanto, la funzione individuerà solo i modelli di corrispondenza ignorando le maiuscole e minuscole dei caratteri,





Per eseguire una ricerca con distinzione tra maiuscole e minuscole, è possibile utilizzare altri strumenti, come l'operatore binario.

Esempio di utilizzo della funzione

I seguenti esempi dimostrano come possiamo usare la funzione instr() per cercare una sottostringa specifica.



SELECT INSTR('MySQL è un fantastico motore di database', 'database') as pos;

L'esempio precedente restituirà la posizione iniziale della stringa 'database' dalla stringa di origine. In questo caso, la posizione della stringa del database è 21, come mostrato nell'output seguente:

pos|

---+

21|

Esempio 2

Possiamo usare le funzioni lower() o upper per convertire una stringa in minuscolo o maiuscolo. Questo può aiutarci a superare la natura di distinzione tra maiuscole e minuscole della funzione.

Esempio:

SELECT INSTR(lower('MySQL è un fantastico motore di database'), lower('DATABASE')) as pos;

Risultato:

pos|

---+

21|

Ciò restituirà un valore simile al primo esempio, poiché la stringa di origine e la sottostringa vengono convertite in lettere minuscole prima dell'operazione di ricerca.

Esempio 3

Possiamo anche usare la funzione instr() con una colonna della tabella, come mostrato nella sintassi sottostante.

SELECT INSTR(nome_colonna, 'sottostringa')

FROM nome_tabella;

Esempio:

CREA TABELLA blog (

id INT NOT NULL AUTO_INCREMENT CHIAVE PRIMARIA,

titolo VARCHAR(255) NOT NULL,

contenuto TESTO NON NULLO,

date_postato DATA NON NULL,

autore VARCHAR(255) NOT NULL

);

Inserisci alcuni dati:

INSERT INTO blog (titolo, contenuto, data_pubblicazione, autore)

VALUES ('My First Blog Post', 'This is the content of my first blog post.', '2022-12-09', 'Jane Doe');

INSERT INTO blog (titolo, contenuto, data_pubblicazione, autore)

VALUES ('My Second Blog Post', 'This is the content of my second blog post.', '2022-12-10', 'Jane Doe');

INSERT INTO blog (titolo, contenuto, data_pubblicazione, autore)

VALUES ('Il mio terzo post sul blog', 'Questo è il contenuto del mio terzo post sul blog.', '2022-12-11', 'Jane Doe');

selezionare * dai blog;

Tabella risultante:

Possiamo usare la funzione instr() per ottenere la posizione della sottostringa 'blog' nella colonna del contenuto come mostrato:

select title, instr(content, 'post') dai blog;

Risultato:

Conclusione

In questo tutorial, hai imparato come utilizzare la funzione INSTR() in MySQL per trovare la posizione di una sottostringa all'interno di una stringa. La funzione fa distinzione tra maiuscole e minuscole. Pertanto, potrebbe essere necessario utilizzare funzioni come inferiore e superiore per convertire le stringhe di ricerca nei casi desiderati.