logo

Fonction SUBSTRING_INDEX en SQL

La fonction de chaîne SUBSTRING_INDEX affiche tous les caractères avant le symbole spécifique dans la chaîne donnée.

Syntaxe de la fonction de chaîne SUBSTRING_INDEX

Syntaxe1 : Cette syntaxe utilise SUBSTRING_INDEX avec le nom de colonne de la table SQL :

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

Dans la syntaxe, nous devons spécifier le nom de la colonne sur laquelle nous voulons exécuter la fonction de chaîne SUBSTRING_INDEX.

Syntaxe2 : Cette syntaxe utilise la fonction SUBSTRING_INDEX avec la chaîne :

 SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position); 

Exemples de fonction de chaîne SUBSTRING_INDEX

Exemple 1: La requête SELECT suivante affiche les quatre caractères avant le symbole donné dans le mot d'origine JAVA^TPOINT :

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

Sortir:

SUBSTRING_INDEX_4_characters
JAVA

Exemple 2 : La requête SELECT suivante affiche les 20 caractères SUBSTRING_INDEX de la chaîne donnée :

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

Sortir:

SUBSTRING_INDEX_before.symbole
JAVATPOINT est un

Exemple 3 : La requête SELECT suivante affiche les 5 caractères de la troisième position au symbole donné dans le mot « félicitations » donné :

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

Sortir:

SUBSTRING_INDEX_before@symbole
AIMER

Exemple 4 : La requête SELECT suivante affiche les 20 caractères de la cinquième position au symbole donné dans la chaîne donnée :

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

Sortir:

SUBSTRING_INDEX_before#symbole
Delhi est la capitale

Exemple 6 : Cet exemple utilise la fonction SUBSTRING_INDEX avec la table en langage de requête structuré.

entier pour doubler Java

Pour comprendre la fonction SUBSTRING_INDEX avec SQL, nous devons d'abord créer la table SQL à l'aide de l'instruction CREATE. La syntaxe de création de la nouvelle table dans la base de données SQL est la suivante :

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

L'instruction CREATE suivante crée le Notes_étudiants tableau:

 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 requêtes INSERT ci-dessous insèrent les dossiers des facultés collégiales dans le Notes_étudiants tableau:

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

L'instruction SELECT suivante affiche les enregistrements insérés de l'élément ci-dessus Notes_étudiants tableau:

 SELECT * FROM Student_Marks; 

ID_écolier Prénom_écolier Schoolboy_Middle_Name Nom_d_écolier Ecolier_Classe Écolier_Ville Écolier_État Écolier_Marks
4001 Un homme Roy Sharma 4 Chandigarh Jeu de mots#jab 88
4002 Vish.al Gurr Sh#arme 8 Murthal Harya#na 95
4007 Raj. Singhanie Gupt#a 6 Ghaziabad Uttar Pradesh 91
4004 Yas.h Chopra Singh#ania 9 Jaïpur Rajasthan# 85
4011 Vin.ay Sharma Roy# 8 Chandigarh Pendjab# 94
4006 Mec. Singhanie Gup#ta 5 Ghaziabad Uttar Pra#desh 83
4010 RAM Rahim Gupt#a 9 Lucknow Uttar Pradesh 89

Requête 1 : La requête SELECT suivante utilise la fonction SUBSTRING_INDEX avec la colonne Student_First_Name de la table Student_Marks ci-dessus :

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

Cette instruction SQL affiche les caractères de la première position jusqu'au symbole # dans le prénom de chaque élève.

Sortir:

Prénom_étudiant SUBSTRING_INDEX_before.symbole
Un homme Ou
Vish.al à venir
Raj. Raj
Yas.h Plastique
Vin.ay viens
Homme.oops Homme
RAM Soleil

Requête 2 : La requête SELECT suivante utilise la fonction SUBSTRING_INDEX avec la colonne Student_Last_Name de la table Student_Marks ci-dessus :

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

Cette instruction SQL affiche les caractères de la première position jusqu'au symbole # dans le nom de famille de chaque étudiant.

qu'est-ce que desktop.ini

Sortir:

Nom_de_l'étudiant SUBSTRING_INDEX_before#symbole
Sharma Boire
Sh#arme Ch
Gupt#a Gupt
Singh#ania Singh
Roy# Roy
Gup#ta Gup
Gupt#a Gupt

Requête 3 : La requête SELECT suivante utilise la fonction SUBSTRING_INDEX avec la colonne Student_Address de la table Student_Marks ci-dessus :

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

Cette instruction SQL montre les caractères de la deuxième position au symbole donné dans l'état de chaque étudiant.

Sortir:

État_étudiant SUBSTRING_INDEX_@symbole
Jeu de mots@jab un
Harya@na arya
Uttar Pra@adesh ttar Pr
Rajasthan@ lieu et heure
Pendjab@ dégager
Uttar Pradesh@desh ttar Pra
Uttar Pra@adesh ttar Pr