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 |