تعرض دالة سلسلة SUBSTR في لغة الاستعلام الهيكلية الأحرف أو السلسلة الفرعية من قيمة الفهرس المحددة للسلسلة الأصلية. يسمح لك SQL أيضًا باستخدام الدالة SUBSTR مع الجداول.
بناء جملة دالة سلسلة SUBSTR
بناء الجملة 1: يستخدم بناء الجملة هذا الدالة SUBSTR مع اسم العمود في جدول SQL:
SELECT SUBSTR(Column_Name, Starting_Index_value, Length_of_string) AS Alias_Name FROM Table_Name;
في بناء الجملة هذا، يتعين علينا تحديد اسم العمود الذي نريد تنفيذ وظيفة SUBSTR() عليه. هنا، تكون المعلمة Length_of_string اختيارية. إذا تم حذفها، فإن هذه الدالة تستخرج السلسلة بأكملها من قيمة فهرس البداية.
بناء الجملة 2: يستخدم بناء الجملة هذا الدالة SUBSTR مع السلسلة:
SELECT SUBSTR(Original_String, Starting_Index_value, Length_of_string);
بناء الجملة 2: يستخدم بناء الجملة هذا الدالة SUBSTR بحرف واحد:
شريحة جافا
SELECT SUBSTR(String, Starting_Index_value, 1);
أمثلة على دالة سلسلة SUBSTR
مثال 1: يعرض استعلام SELECT التالي الأحرف من الرقم 17ذموضع السلسلة المحددة.
SELECT SUBSTR( 'JavaTpoint is a website for professionals', 17, 24); This SQL query returns the 24 characters with spaces after the 17th position in the string.
انتاج:
jvm في جافا
website for professionals
مثال 2: يعرض استعلام SELECT التالي الأحرف من -17ذموضع السلسلة المحددة:
SELECT SUBSTR( 'JavaTpoint is a website for professionals', -17, 5);
يعرض استعلام SQL هذا الأحرف الخمسة من آخر 17 حرفًاذموقف السلسلة.
انتاج:
website for professionals
مثال 3: يعرض استعلام SELECT التالي كافة الأحرف من الرقم 5ذموقف السلسلة.
SELECT SUBSTR( 'New Delhi IS the Capital OF India', 5);
انتاج:
Delhi IS the Capital OF India
مثال 4: يعرض استعلام SELECT التالي الحرف المفرد من الرقم 8ذموقف السلسلة.
SELECT SUBSTR( 'JavaTpoint', 8, 1);
انتاج:
n
المثال 5: يستخدم هذا المثال الدالة SUBSTR مع جدول SQL
باوانديب راجان
في هذا المثال، سنقوم بإنشاء جدول جديد نريد تنفيذ وظيفة SUBSTR عليه.
في هذا المثال، يتعين علينا إنشاء جدول SQL جديد سنقوم من خلاله بتنفيذ وظيفة Concat() على الأعمدة. تم ذكر بناء الجملة لإنشاء جدول 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 طاولة:
com.strsep
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, Student_Marks) VALUES (4001, Aman, Roy, Sharma, 4, Chandigarh, Punjab, 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, Vishal, Gurr, Sharma, 8, Murthal, Haryana, 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, Gupta, 6, Ghaziabad, Uttar Pradesh, 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, Yash, Chopra, Singhania, 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, Vinay, 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, Manoj, singhania, Gupta, 5, Ghaziabad, Uttar Pradesh, 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, Ram, Raheem, Gupta, 9, Lucknow, Uttar Pradesh, 89);
تعرض عبارة SELECT التالية السجلات المدرجة لما سبق Student_Marks طاولة:
SELECT * FROM Student_Marks;
هوية الطالب | الطالب_الاسم_الأول | الطالب_الاسم_الأوسط | اسم_الطالب_الأخير | Student_Class | Student_City | Student_State | Student_Marks |
---|---|---|---|---|---|---|---|
4001 | آمن | روي | شارما | 4 | شانديغار | البنجاب | 88 |
4002 | فيشال | جور | شارما | 8 | مورتال | هاريانا | 95 |
4007 | راج | سينغانيا | غوبتا | 6 | غازي آباد | ولاية اوتار براديش | 91 |
4004 | ياش | شوبرا | سينغانيا | 9 | جايبور | راجستان | 85 |
4011 | فيناي | شارما | روي | 8 | شانديغار | البنجاب | 94 |
4006 | مانوج | سينغانيا | غوبتا | 5 | غازي آباد | ولاية اوتار براديش | 83 |
4010 | كبش | رحيم | غوبتا | 9 | لكناو | ولاية اوتار براديش | 89 |
الاستعلام 1: يستخدم استعلام SELECT التالي وظيفة SUBSTR مع عمود Student_Last_Name الموجود في جدول Student_Marks أعلاه:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, 2, 4) AS SUBSTR_2_4 FROM Student_Marks;
يعرض بيان SQL هذا الأحرف الأربعة بعد 2اختصار الثانيموقف الاسم الأخير لكل طالب.
انتاج:
اسم_الطالب_الأخير | SUBSTR_2_4 |
---|---|
شارما | ضرر |
شارما | ضرر |
غوبتا | com.upta |
سينغانيا | إنجليزي |
روي | المحدودة |
غوبتا | com.upta |
غوبتا | com.upta |
الاستعلام 2: يستخدم استعلام SELECT التالي وظيفة SUBSTR مع عمود Student_Last_Name الموجود في جدول Student_Marks أعلاه:
SELECT Student_Last_Name, SUBSTR(Student_Last_Name, -3, 2) AS SUBSTR_-3_2 FROM Student_Marks;
يعرض بيان SQL هذا الحرفين من الموضع الأخير الثالث للاسم الأخير لكل طالب.
بهارتي جها
انتاج:
اسم_الطالب_الأخير | SUBSTR_-3_2 |
---|---|
شارما | جمهورية مقدونيا |
شارما | جمهورية مقدونيا |
غوبتا | نقطة |
سينغانيا | في |
روي | ريال عماني |
غوبتا | نقطة |
غوبتا | نقطة |