logo

SUBSTRING_INDEX Funzione in SQL

La funzione stringa SUBSTRING_INDEX mostra tutti i caratteri prima del simbolo specifico nella stringa specificata.

Sintassi della funzione stringa SUBSTRING_INDEX

Sintassi1: Questa sintassi utilizza SUBSTRING_INDEX con il nome della colonna della tabella SQL:

 SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name; 

Nella sintassi dobbiamo specificare il nome di quella colonna su cui vogliamo eseguire la funzione stringa SUBSTRING_INDEX.

Sintassi2: Questa sintassi utilizza la funzione SUBSTRING_INDEX con la stringa:

 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Esempi di funzione String SUBSTRING_INDEX

Esempio 1: La seguente query SELECT mostra i quattro caratteri prima del simbolo specificato nella parola originale JAVA^TPOINT:

puntatore di dereferenziazione c

SELECT SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) AS SUBSTRING_INDEX_4_caratteri;

ordine lessicografico

Produzione:

SUBSTRING_INDEX_4_caratteri
GIAVA

Esempio 2: La seguente query SELECT mostra i 20 caratteri SUBSTRING_INDEX dalla stringa specificata:

 SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol; 

Produzione:

SUBSTRING_INDEX_before.simbolo
JAVATPOINT è un

Esempio 3: La seguente query SELECT mostra i 5 caratteri dalla terza posizione al simbolo specificato nella parola 'congratulazioni' specificata:

 SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol; 

Produzione:

SUBSTRING_INDEX_before@simbolo
LO ADORO

Esempio 4: La seguente query SELECT mostra i 20 caratteri dalla quinta posizione al simbolo specificato nella stringa specificata:

 SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters; 

Produzione:

SUBSTRING_INDEX_prima#simbolo
Delhi è la capitale

Esempio 6: questo esempio utilizza la funzione SUBSTRING_INDEX con la tabella in Structured Query Language.

generatore di stringhe Java

Per comprendere la funzione SUBSTRING_INDEX con SQL, dobbiamo prima creare la tabella SQL utilizzando l'istruzione CREATE. La sintassi per creare la nuova tabella nel database SQL è la seguente:

 CREATE TABLE table_name ( First_Column_of_table Data Type (character_size of 1st Column), Second_Column_of_table Data Type (character_size of the 2nd column ), Third_Column_of_table Data Type (character_size of the 3rd column), ... Last_Column_of_table Data Type (character_size of the Nth column) ); 

La seguente istruzione CREATE crea il file Student_Marks tavolo:

 CREATE TABLE Student_Marks ( Student_ID INT NOT NULL PRIMARY KEY, Student_First_Name VARCHAR (100), Student_Middle_Name VARCHAR (100), Student_Last_Name VARCHAR (100), Student_Class INT NOT NULL, Student_City Varchar(120), Student_State Varchar (80), Student_Marks INT ); 

Le seguenti query INSERT inseriscono i record delle Facoltà universitarie nel file Student_Marks tavolo:

 INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Stude.nt_Marks) VALUES (4001, Ama.n, Roy, Sha#rma, 4, Chandigarh, Pun#jab, 88); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES ( 4002, Vish.al, Gurr, Sh#arma, 8, Murthal, Harya#na, 95 ); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4007, Raj., singhania, Gupt#a, 6, Ghaziabad, Uttar Pr#adesh, 91); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4004, Yas.h, Chopra, Singh#ania, 9, Jaipur, Rajasthan#, 85); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4011, Vin.ay, Sharma, Roy#, 8, Chandigarh, Punjab#, 94); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4006, Man.oj, singhania, Gup#ta, 5, Ghaziabad, Uttar Pr#adesh, 83); INSERT INTO Student_Marks (Student_ID, Student_First_Name, Student_Middle_Name, Student_Last_Name, Student_Class, Student_City, Student_State, Student_Marks) VALUES (4010, Ra.m, Raheem, Gupt#a, 9, Lucknow, Uttar Pra#desh, 89); 

La seguente istruzione SELECT visualizza i record inseriti di cui sopra Student_Marks tavolo:

 SELECT * FROM Student_Marks; 

Scolaro_Id Scolaro_Nome_ Scolaro_Medio_Nome Scolaro_Cognome_ Scolaro_Class Scolaro_Città Scolaro_Stato Scolaro_Marks
4001 Un uomo Roy Sha#rma 4 Chandigarh Gioco di parole#jab 88
4002 Vish.al Gurr Sh#arma 8 Murthal Harya#na 95
4007 Raj. Singhania Gupt#a 6 Ghaziabad Uttar Pradesh 91
4004 Sì.h Chopra Singh#ania 9 Jaipur Rajasthan# 85
4011 Vin.ay Sharma Roy# 8 Chandigarh Punjab# 94
4006 Ahi Singhania Gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 Ram Raheem Gupt#a 9 Lucknow Uttar Pradesh 89

Domanda 1: La seguente query SELECT utilizza la funzione SUBSTRING_INDEX con la colonna Student_First_Name della tabella Student_Marks precedente:

 SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks; 

Questa istruzione SQL mostra i caratteri dalla prima posizione al simbolo # nel nome di ogni studente.

svm

Produzione:

Nome_studente SUBSTRING_INDEX_before.simbolo
Un uomo O
Vish.al in arrivo
Raj. Raj
Sì.h Plastica
Vin.ay Venire
Ahi Uomo
Ram Sole

Domanda 2: La seguente query SELECT utilizza la funzione SUBSTRING_INDEX con la colonna Student_Last_Name della tabella Student_Marks precedente:

 SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks; 

Questa istruzione SQL mostra i caratteri dalla prima posizione al simbolo # nel cognome di ogni studente.

quali mesi sono q3

Produzione:

Studente_Cognome_ SUBSTRING_INDEX_prima#simbolo
Sha#rma Bere
Sh#arma Sh
Gupt#a Gupt
Singh#ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Domanda 3: La seguente query SELECT utilizza la funzione SUBSTRING_INDEX con la colonna Student_Address della tabella Student_Marks precedente:

 SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks; 

Questa istruzione SQL mostra i caratteri dalla seconda posizione al simbolo indicato nello stato di ogni studente.

Produzione:

Studente_Stato SUBSTRING_INDEX_@simbolo
Pun@jab UN
Harya@na aria
Uttar Pra@adesh ttar Pr
Rajasthan@ luogo del tempo
Punjab@ unjab
Uttar Pradesh@desh ttar Pra
Uttar Pra@adesh ttar Pr