Introduzione a SQL INSTR()

INSTR() è una funzione di stringa in standard query language (SQL) che restituisce la posizione di partenza o la posizione di una stringa o criterio nella stringa di input. La funzione INSTR () è specifica per Oracle/PL e MYSQL., Tuttavia, altri server di database SQL come PostgreSQL, SQL Server supportano le funzioni di stringa per determinare la posizione di una sottostringa, ma differiscono leggermente nella sintassi. La funzione simile a INSTR() in PostgreSQL è la funzione SUBSTRING() mentre in SQL server abbiamo la funzione CHARINDEX ().

SQL INSTR() funzione restituisce la prima occorrenza di una sottostringa in una stringa di input. È una funzione case sensitive in ORACLE / PL SQL. Non è case sensitive in MYSQL come vedremo negli esempi seguenti.,

Guarda i nostri corsi demo e video

Valutazione, Hadoop, Excel, Applicazioni mobili, Sviluppo Web & molti altri.

Sintassi e parametri di SQL INSTR ()

In questa sezione, discuteremo la sintassi della funzione INSTR() in ORACLE / PL SQL e funzioni simili in altri database SQL.,

ORACLE/ PL SQL:

INSTR (string, pattern)

MYSQL

INSTR (string, pattern)

di SQL SERVER:

CHARINDEX(pattern, string, start)

Tutte le funzioni di cui sopra, eseguire la stessa operazione. Prendono un pattern o una sottostringa e la stringa di input e restituiscono la posizione del pattern o della sottostringa nella stringa di input.

I parametri utilizzati nelle sintassi di cui sopra come segue:

  • String: Menzionare la stringa di input in cui si troverà il pattern o la sottostringa.,
  • Pattern: Menziona la sottostringa o le parole la cui prima occorrenza deve essere localizzata.

La funzione in PostgreSQL è un po ‘ diversa in quanto ci consente di estrarre la sottostringa o il pattern specificato dalla stringa di input data in base alla posizione iniziale e finale. La sintassi per lo stesso è la seguente:

POSTGRESQL:

SUBSTRING ( string ,start_position, length)

Esempi:

Ecco alcuni esempi per illustrare la sintassi e l’uso della funzione INSTR() in MYSQL.,

Per fare ciò, creiamo prima una tabella “Attori” che contiene l’id attore, il suo nome, il film e la città in cui vivono a scopo dimostrativo. Possiamo utilizzare le seguenti istruzioni SQL per eseguire l’attività.

CREATE TABLE Actors (
ActorID int,
LastName varchar(255),
FirstName varchar(255),
MovieName varchar(255),
City varchar(255)
);

Dopo aver creato la tabella ‘Attori’, inseriamo ora alcune informazioni nelle colonne della tabella usando le istruzioni insert come mostrato di seguito.,

select * from Actors;

I dati nella tabella dopo l’operazione di inserimento è qualcosa di simile a questo :

Esempi di Implementazione di SQL INSTR()

Ora, diamo un’occhiata a come INSTR() la funzione funziona davvero in MYSQL utilizzando alcuni semplici esempi come segue.

Esempio #1

Semplici query SQL per dimostrare il funzionamento di base della funzione INSTR ().

SELECT INSTR ('FirstTestString','Test')as INSTR_TABLE;

Allo stesso modo, diamo un’occhiata a un altro esempio per verificare se INSTR() è case sensitive o meno in MYSQL.,

SELECT INSTR('girl on the train','THE') as Position;

Non è case sensitive in MYSQL. Ma si noti che la funzione INSTR () è case sensitive nei server di database SQL ORACLE/PL.

Nell’esempio precedente, possiamo notare che vengono contati anche gli spazi vuoti in mezzo. Andando avanti, eserciteremo altri esempi basati sul tavolo degli “Attori” che abbiamo appena creato.

Esempio #2

Trova il posto della prima occorrenza della parola ‘Girl’ nei nomi dei film presenti nel database degli attori.,

SELECT MovieName, INSTR(MovieName,'Girl') as Position
FROM Actors;

Possiamo osservare nell’esempio precedente che la parola ‘girl’ non è presente nei film ‘Sully’ e ‘Devil wears Prada’, quindi abbiamo ottenuto l’indice ‘0’ per loro. Mentre per il resto di loro abbiamo ricevuto la prima posizione / posizione di ‘girl ‘ nel nome del film.

Esempio #3

Trova i nomi dei film e degli attori che hanno recitato in essi, dove i nomi dei film iniziano con la parola ‘Ragazza’.

Questo esempio è principalmente per dimostrare l’uso della funzione INSTR() nella clausola WHERE.,

SELECT MovieName, FirstName, LastName
FROM Actors
WHERE INSTR(MovieName,'Girl') = 1;

Qui in questo esempio, abbiamo cercato di utilizzare la funzione INSTR() nella parte della clausola WHERE della query SQL. La funzione restituisce la posizione iniziale della parola “Ragazza” nei nomi dei film e quindi la clausola WHERE filtra i nomi dei film in base alla posizione.

Esempio #4

Trova i nomi dei film e degli attori che hanno recitato in essi, dove la parola di posizione iniziale ‘Girl’ è al sesto o minore indice.

Questo esempio è principalmente per dimostrare l’uso della funzione INSTR() nella clausola HAVING.,

SELECT MovieName, FirstName, LastName
FROM Actors
HAVING INSTR(MovieName,'Girl') < 6;

Ma qui c’è un problema, i nomi dei film senza l’occorrenza della parola ‘Girl’ sono arrivati anche ai risultati finali. Possiamo personalizzarlo ulteriormente nella parte della clausola HAVING o WHERE della query come mostrato di seguito.

SELECT MovieName, FirstName, LastName
FROM Actors
WHERE INSTR(MovieName,'Girl') != 0
HAVING INSTR(MovieName,'Girl') < 6;

Ora possiamo osservare che i film irrilevanti come Sully e Devil wears Prada senza l’occorrenza della parola ‘Girl’ sono stati rimossi e solo i nomi dei film che hanno la posizione iniziale della parola ‘Girl’ al 6 ° o minore indice è mantenuto.,

Articoli consigliati

Questa è una guida per SQL INSTR(). Qui discutiamo anche l’introduzione e la sintassi e i parametri di sql instr () insieme a diversi esempi e la sua implementazione del codice. Puoi anche dare un’occhiata ai seguenti articoli per saperne di più –

  1. PostgreSQL COALESCE
  2. MySQL NELL’operatore
  3. PostgreSQL Booleano
  4. Python SQLite
0 Condivisioni