logo

SUBSTRING_INDEX Funció en SQL

La funció de cadena SUBSTRING_INDEX mostra tots els caràcters abans del símbol específic de la cadena donada.

convertir cadena a int java

Sintaxi de la funció de cadena SUBSTRING_INDEX

Sintaxi 1: Aquesta sintaxi utilitza SUBSTRING_INDEX amb el nom de columna de la taula SQL:

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

A la sintaxi, hem d'especificar el nom d'aquesta columna sobre la qual volem realitzar la funció de cadena SUBSTRING_INDEX.

Sintaxi 2: Aquesta sintaxi utilitza la funció SUBSTRING_INDEX amb la cadena:

 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Exemples de la funció de cadena SUBSTRING_INDEX

Exemple 1: La consulta SELECT següent mostra els quatre caràcters abans del símbol donat a la paraula original JAVA^TPOINT:

SELECCIONA SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) COM SUBSTRING_INDEX_4_caràcters;

Sortida:

SUBSTRING_INDEX_4_caràcters
JAVA

Exemple 2: La consulta SELECT següent mostra els 20 caràcters SUBSTRING_INDEX de la cadena donada:

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

Sortida:

SUBSTRING_INDEX_before.symbol
JAVATPOINT és un

Exemple 3: La consulta SELECT següent mostra els 5 caràcters des de la tercera posició fins al símbol donat a la paraula 'felicitacions' donada:

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

Sortida:

SUBSTRING_INDEX_before@symbol
M'ENCANTA

Exemple 4: La següent consulta SELECT mostra els 20 caràcters des de la cinquena posició fins al símbol donat a la cadena donada:

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

Sortida:

SUBSTRING_INDEX_before#símbol
Delhi és la capital

Exemple 6: aquest exemple utilitza la funció SUBSTRING_INDEX amb la taula en llenguatge de consulta estructurat.

Per entendre la funció SUBSTRING_INDEX amb SQL, primer hem de crear la taula SQL mitjançant la instrucció CREATE. La sintaxi per crear la nova taula a la base de dades SQL és la següent:

 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 següent instrucció CREATE crea el Marques_estudiant taula:

 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 ); 

Les consultes INSERIR a continuació insereixen els registres de les facultats universitàries al Marques_estudiant taula:

 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 següent instrucció SELECT mostra els registres inserits de l'anterior Marques_estudiant taula:

com obtenir la data actual en java
 SELECT * FROM Student_Marks; 

Escola_Id Nom_escolar Colegial_Midi_Nom Cognom_escolar Escola_Classe Escola_Ciutat Escola_Estat Escola_Marques
4001 Ama.n Roy Sha#rma 4 Chandigarh Pun#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 Panjab# 94
4006 Home Singhania Gup#ta 5 Ghaziabad Uttar Pra #desh 83
4010 Ra.m Raheem Gupt#a 9 Lucknow Uttar Pradesh 89

Consulta 1: La consulta SELECT següent utilitza la funció SUBSTRING_INDEX amb la columna Student_First_Name de la taula de Student_Marks anterior:

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

Aquesta instrucció SQL mostra els caràcters des de la primera posició fins al símbol # en el primer nom de cada alumne.

Sortida:

Nom_de_estudiant SUBSTRING_INDEX_before.symbol
Ama.n O
Vish.al arribant
Raj. Raj
Sí.h Plàstic
Vin.ay vine
Home Home
Ra.m Sol

Consulta 2: La consulta SELECT següent utilitza la funció SUBSTRING_INDEX amb la columna Student_Last_Name de la taula anterior Student_Marks:

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

Aquesta instrucció SQL mostra els caràcters des de la primera posició fins al símbol # al cognom de cada alumne.

Sortida:

Cognom_de_estudiant SUBSTRING_INDEX_before#símbol
Sha#rma Beure
Sh#arma Sh
Gupt#a Gupt
Singh #ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Consulta 3: La consulta SELECT següent utilitza la funció SUBSTRING_INDEX amb la columna Student_Address de la taula anterior Student_Marks:

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

Aquesta instrucció SQL mostra els caràcters des de la segona posició fins al símbol donat en l'estat de cada alumne.

Sortida:

Estat_estudiant SUBSTRING_INDEX_@símbol
Pun@jab un
Harya@na ària
Uttar Pra@adesh ttar Pr
Rajasthan@ lloc de temps
Punjab@ unjab
Uttar Pradesh@desh ttar Pra
Uttar Pra@adesh ttar Pr