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 |