कभी-कभी हमें अपने डेटा में स्ट्रिंग मान के केवल एक हिस्से को प्रदर्शित करने की आवश्यकता होती है। एक स्ट्रिंग फंक्शन है जिसका हम उपयोग करते हैं जिसे SUBSTR() कहा जाता है। एक समकक्ष फंक्शन भी है जिसे SUBSTRING() कहा जाता है। इस लेख में, हम SQL में इस सबस्ट्रिंग फंक्शन का उपयोग करना कवर करते हैं।
तैयारी
यहाँ इस लेख में उपयोग किया गया SQL Fiddle है। स्कीमा इस प्रकार है:
create table names ( id INT, name VARCHAR(50), age INT, gender VARCHAR(50) ); insert into names (id, name, age, gender) values (1, 'Bret Starkings', 55, 'M'); insert into names (id, name, age, gender) values (2, 'Bobbye Eyckel', 76, 'F'); insert into names (id, name, age, gender) values (3, 'Barbie Veschi', 50, 'F'); insert into names (id, name, age, gender) values (4, 'Electra Blazewicz', 47, 'F');
हम SUBSTR() फंक्शन का उपयोग name कॉलम का एक हिस्सा वापस पाने के लिए करते हैं। फंक्शन का सिंटैक्स इस प्रकार है:
SUBSTR(column_name, position, num_letters);
फंक्शन तीन पैरामीटर लेता है: वह कॉलम या स्ट्रिंग जिससे हम सबस्ट्रिंग निकालना चाहते हैं, स्ट्रिंग में एक-आधारित प्रारंभ स्थिति (इंडेक्सिंग जो 1 से शुरू होती है 0 के बजाय), और वर्ण लंबाई की संख्या। यदि हम इसे name कॉलम पर करते हैं, तो SQL स्टेटमेंट इस तरह निकलता है:
SELECT name, SUBSTR(name, 1, 4) AS NAME_SUBSTRING, age, gender FROM names;
और कोड का परिणाम है:
| name | NAME_SUBSTRING | age | gender |
| Bret Starkings | Bret | 55 | M |
| Bobbye Eyckel | Bobb | 76 | F |
| Barbie Veschi | Barb | 50 | F |
| Electra Blazewicz | Elec | 47 | F |
| Estrella Borleace | Estr | 57 | F |
इस फंक्शन में तीसरा पैरामीटर छोड़ा जा सकता है यदि आप चुनते हैं:
SELECT name, SUBSTR(name, 4) AS NAME_SUBSTRING, age, gender FROM names;
| name | NAME_SUBSTRING | age | gender |
| Bret Starkings | t Starkings | 55 | M |
| Bobbye Eyckel | bye Eyckel | 76 | F |
| Barbie Veschi | bie Veschi | 50 | F |
| Electra Blazewicz | ctra Blazewicz | 47 | F |
| Estrella Borleace | rella Borleace | 57 | F |
आप स्थिति के लिए नकारात्मक मान भी उपयोग कर सकते हैं:
SELECT name, SUBSTR(name, -4) AS NAME_SUBSTRING, age, gender FROM names;
| name | NAME_SUBSTRING | age | gender |
| Bret Starkings | ings | 55 | M |
| Bobbye Eyckel | ckel | 76 | F |
| Barbie Veschi | schi | 50 | F |
| Electra Blazewicz | wicz | 47 | F |
| Estrella Borleace | eace | 57 | F |
किसी भी SQL फंक्शन की तरह, सिंटैक्स थोड़ा भिन्न हो सकता है इस पर निर्भर करता है कि आप किस प्रकार के डेटाबेस का उपयोग कर रहे हैं। सामान्य अवधारणा वही है। बस याद रखें कि पोजीशन पैरामीटर के लिए इंडेक्सिंग 0 के बजाय 1 से शुरू होती है और आप अपने क्वेरीज़ बनाने में शानदार प्रदर्शन करेंगे।