SUBSTRING_INDEX() से नाम विभाजित करना
SUBSTRING_INDEX(str, delim, count) डिलीमीटर के आधार पर सबस्ट्रिंग निकालता है। धनात्मक count बाएँ से, ऋणात्मक दाएँ से गिनता है।
तालिका और डेटा
mysql> CREATE TABLE DemoTable1465 (Name VARCHAR(40));
mysql> INSERT INTO DemoTable1465 VALUES
-> ('Chris Brown'), ('David Miller'), ('John Doe');
पहला और अंतिम नाम निकालना
mysql> SELECT
-> SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) AS StudentFirstName,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 3), ' ', -1) AS StudentLastName
-> FROM DemoTable1465;
परिणाम
+------------------+-----------------+
| StudentFirstName | StudentLastName |
+------------------+-----------------+
| Chris | Brown |
| David | Miller |
| John | Doe |
+------------------+-----------------+
व्याख्या:
- पहला नाम: पहला स्पेस तक का भाग →
SUBSTRING_INDEX(Name, ' ', 1) - अंतिम नाम: अंतिम स्पेस के बाद का भाग →
SUBSTRING_INDEX(Name, ' ', -1) - नेस्टेड कॉल से मध्य भाग हटाया जाता है
सीमा: यह सरल दो-भाग नामों के लिए काम करता है। मध्य नाम वाले नामों के लिए अधिक जटिल लॉजिक चाहिए।