تعرض دالة السلسلة SUBSTRING_INDEX جميع الأحرف قبل الرمز المحدد في السلسلة المحددة.
بناء جملة دالة السلسلة SUBSTRING_INDEX
بناء الجملة 1: يستخدم بناء الجملة هذا SUBSTRING_INDEX مع اسم العمود في جدول SQL:
SELECT SUBSTRING_INDEX(Column_Name, symbol, starting_position) AS Alias_Name FROM Table_Name;
في بناء الجملة، يتعين علينا تحديد اسم هذا العمود الذي نريد تنفيذ وظيفة السلسلة SUBSTRING_INDEX عليه.
بناء الجملة 2: يستخدم بناء الجملة هذا الدالة SUBSTRING_INDEX مع السلسلة:
SELECT SUBSTRING_INDEX(Original_String, symbol, starting_position);
أمثلة على دالة السلسلة SUBSTRING_INDEX
مثال 1: يعرض استعلام SELECT التالي الأحرف الأربعة قبل الرمز المحدد في الكلمة الأصلية JAVA^TPOINT:
حدد SUBSTRING_INDEX( 'JAVA^TPOINT', '^', 1) كـ SUBSTRING_INDEX_4_characters;
انتاج:
معالجة القرصنة
SUBSTRING_INDEX_4_characters |
جافا |
مثال 2: يعرض استعلام SELECT التالي SUBSTRING_INDEX 20 حرفًا من السلسلة المحددة:
SELECT SUBSTRING_INDEX( 'JAVATPOINT is a. good website', '.', 1 ) AS SUBSTRING_INDEX_before.symbol;
انتاج:
SUBSTRING_INDEX_before.symbol |
جافات بوينت هي |
مثال 3: يعرض استعلام SELECT التالي الأحرف الخمسة من الموضع الثالث إلى الرمز المحدد في كلمة 'تهانينا' المحددة:
SELECT SUBSTRING_INDEX( '[email protected]', '@', 3) AS SUBSTRING_INDEX_before@symbol;
انتاج:
SUBSTRING_INDEX_before@symbol |
أحبها |
مثال 4: يعرض استعلام SELECT التالي الأحرف العشرين من الموضع الخامس إلى الرمز المحدد في السلسلة المحددة:
SELECT SUBSTRING_INDEX('New Delhi is the capital# of India', '#', 5) AS SUBSTRING_INDEX_5_characters;
انتاج:
SUBSTRING_INDEX_before#symbol |
دلهي هي العاصمة |
المثال 6: يستخدم هذا المثال الدالة SUBSTRING_INDEX مع الجدول بلغة الاستعلام الهيكلية.
لفهم وظيفة SUBSTRING_INDEX مع SQL، يتعين علينا إنشاء جدول SQL أولاً باستخدام عبارة CREATE. بناء الجملة لإنشاء الجدول الجديد في قاعدة بيانات SQL كما يلي:
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) );
تقوم عبارة CREATE التالية بإنشاء Student_Marks طاولة:
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 );
تقوم استعلامات INSERT أدناه بإدراج سجلات كليات الكلية في Student_Marks طاولة:
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);
تعرض عبارة SELECT التالية السجلات المدرجة لما سبق Student_Marks طاولة:
SELECT * FROM Student_Marks;
معرف تلميذ_المدرسة | تلميذ_الاسم_الأول | Schoolboy_Middle_Name | تلميذ_الاسم_الأخير | Schoolboy_Class | Schoolboy_City | Schoolboy_State | Schoolboy_Marks |
---|---|---|---|---|---|---|---|
4001 | رجل | روي | شارما | 4 | شانديغار | التورية #جاب | 88 |
4002 | فيش.ال | جور | ش #سلاح | 8 | مورتال هاريا#نا | 95 | |
4007 | راج. | سينغانيا | غوبت#أ | 6 | غازي آباد | ولاية اوتار براديش | 91 |
4004 | ياس.ح | شوبرا | سينغ #انيا | 9 | جايبور | راجستان# | 85 |
4011 | فين.اي | شارما | روي # | 8 | شانديغار | البنجاب # | 94 |
4006 | يا رجل | سينغانيا | Gup#ta | 5 | غازي آباد | أوتار برا # ديش | 83 |
4010 | كبش | رحيم | غوبت#أ | 9 | لكناو | ولاية اوتار براديش | 89 |
الاستعلام 1: يستخدم استعلام SELECT التالي وظيفة SUBSTRING_INDEX مع عمود Student_First_Name في جدول Student_Marks أعلاه:
SELECT Student_First_Name, SUBSTRING_INDEX(Student_First_Name, ., 1) AS SUBSTRING_INDEX_before.symbol FROM Student_Marks;
تعرض عبارة SQL هذه الأحرف من الموضع الأول إلى الرمز # في الاسم الأول لكل طالب.
انتاج:
الطالب_الاسم_الأول | SUBSTRING_INDEX_before.symbol |
---|---|
رجل | أو |
فيش.ال | آت |
راج. | راج |
ياس.ح | بلاستيك |
فين.اي | يأتي |
يا رجل | رجل |
كبش | شمس |
الاستعلام 2: يستخدم استعلام SELECT التالي وظيفة SUBSTRING_INDEX مع عمود Student_Last_Name الموجود في جدول Student_Marks أعلاه:
SELECT Student_Last_Name, SUBSTRING_INDEX(Student_Last_Name, #, 1) AS SUBSTRING_INDEX_before#symbol FROM Student_Marks;
تعرض عبارة SQL هذه الأحرف من الموضع الأول إلى الرمز # في الاسم الأخير لكل طالب.
np.unique
انتاج:
اسم_الطالب_الأخير | SUBSTRING_INDEX_before#symbol |
---|---|
شارما | يشرب |
ش #سلاح | ش |
غوبت#أ | جوبت |
سينغ #انيا | سينغ |
روي # | روي |
Gup#ta | جوب |
غوبت#أ | جوبت |
الاستعلام 3: يستخدم استعلام SELECT التالي وظيفة SUBSTRING_INDEX مع عمود Student_Address في جدول Student_Marks أعلاه:
SELECT Student_State, SUBSTRING_INDEX(Student_State, @, 2) AS SUBSTRING_INDEX_@symbol FROM Student_Marks;
يعرض بيان SQL هذا الأحرف من الموضع الثاني إلى الرمز المحدد في حالة كل طالب.
انتاج:
Student_State | SUBSTRING_INDEX_@symbol |
---|---|
بون@جاب | أ |
هاريا@نا | آريا |
أوتار برا@اديش | تتار العلاقات العامة |
راجستان@ | مكان الوقت |
البنجاب@ | unjab |
ولاية أوتار براديش @ ديش | تتار برا |
أوتار برا@اديش | تتار العلاقات العامة |