Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में सिंगल कॉलम से लास्ट नेम और फर्स्ट नेम को दो नए कॉलम में कैसे अलग करें?

MySQL में SUBSTRING_INDEX() और REPLACE() का उपयोग करके नाम को फर्स्ट और लास्ट नेम में विभाजित करना

जब एक कॉलम में "FirstName | LastName" प्रारूप में डेटा हो, तो SUBSTRING_INDEX() और REPLACE() फ़ंक्शन का उपयोग करके उन्हें अलग-अलग कॉलम में विभाजित किया जा सकता है।

उदाहरण के साथ पूर्ण कार्यान्वयन

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (Name VARCHAR(100));

रिकॉर्ड डालना (पाइप सेपरेटर के साथ)

mysql> INSERT INTO DemoTable VALUES('Chris | Bob Brown'), ('Carol | Robert Taylor'), ('Sam | David Miller');

सभी रिकॉर्ड प्रदर्शित करना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------------------+
| Name                  |
+-----------------------+
| Chris | Bob Brown     |
| Carol | Robert Taylor |
| Sam   | David Miller  |
+-----------------------+
3 rows in set (0.00 sec)

अलग करने के लिए क्वेरी

mysql> SELECT 
    REPLACE(Name, SUBSTRING_INDEX(Name, ' ', -1), '') AS FirstName,
    SUBSTRING_INDEX(Name, ' ', -1) AS LastName
FROM DemoTable;

आउटपुट:

+-----------------+----------+
| FirstName       | LastName |
+-----------------+----------+
| Chris | Bob     | Brown    |
| Carol | Robert  | Taylor   |
| Sam   | David   | Miller   |
+-----------------+----------+
3 rows in set (0.00 sec)

कैसे काम करता है:

  1. SUBSTRING_INDEX(Name, ' ', -1) - अंतिम स्पेस के बाद का भाग निकालता है (लास्ट नेम)
  2. REPLACE(Name, [लास्ट नेम], '') - मूल स्ट्रिंग से लास्ट नेम को हटाकर फर्स्ट नेम प्राप्त करता है

⚠️ ध्यान दें: वर्तमान आउटपुट में फर्स्ट नेम कॉलम में पाइप सेपरेटर और अतिरिक्त स्पेस शामिल हैं। बेहतर दृष्टिकोण:

सुधारित क्वेरी (पाइप सेपरेटर का उपयोग करके)

mysql> SELECT
    TRIM(SUBSTRING_INDEX(Name, '|', 1)) AS FirstName,
    TRIM(SUBSTRING_INDEX(Name, '|', -1)) AS LastName
FROM DemoTable;

बेहतर आउटपुट:

+-----------+------------+
| FirstName | LastName   |
+-----------+------------+
| Chris     | Bob Brown  |
| Carol     | Robert Taylor |
| Sam       | David Miller |
+-----------+------------+

मुख्य फ़ंक्शन:

  • SUBSTRING_INDEX(str, delim, count) - डेलिमीटर की घटना के आधार पर सबस्ट्रिंग निकालता है
  • TRIM() - अग्रणी/अनुगामी स्पेस हटाता है
  • REPLACE() - सबस्ट्रिंग प्रतिस्थापन
  1. - MySQL में सभी कॉलम को एक नए कॉलम में संयोजित करना

    CONCAT() फंक्शन का उपयोग करके कई कॉलम मानों को जोड़ना पहले टेबल बनाएं: create table DemoTable1396 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40), Age int ); Query OK, 0 rows affected (0.93 sec) रिकॉर्ड डालें: insert into DemoTable1396(Name,Age) values(Bob,26); Query OK, 1 row affec

  1. Excel में पहला और अंतिम नाम कैसे अलग करें Excel में पहला और अंतिम नाम कैसे अलग करें

    आइए एक ऐसी स्थिति मान लें जिसमें आपके पास लोगों के पूरे नामों की सूची है। आप इन नामों को तीन भागों में विभाजित करना चाहते हैं - पहला नाम, मध्य नाम, और अंतिम नाम। यह Microsoft Excel में Delimiter या Separator फ़ंक्शन का उपयोग करके किया जा सकता है। नामों को विभाजित करने का एक अन्य तरीका Formula का उपय

  1. एक्सेल में पहला और अंतिम नाम विभाजित करें: एक सरल सूत्र गाइड एक्सेल में पहला और अंतिम नाम विभाजित करें: एक सरल सूत्र गाइड

    यदि आप एक्सेल का बहुत उपयोग करते हैं, तो आप शायद उस स्थिति में आ चुके हैं जहां आपके पास एक सेल में एक नाम है और आपको नाम को अलग-अलग सेल्स में अलग करने की आवश्यकता है। यह एक्सेल में एक बहुत ही सामान्य समस्या है और आप शायद गूगल खोज कर सकते हैं और विभिन्न लोगों द्वारा लिखे गए 100 अलग-अलग मैक्रोज़ डाउनल