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

MySQL SUBSTRING_INDEX() से नाम स्ट्रिंग को तीन भागों (पहला, मध्य, अंतिम) में विभाजित करें

नेस्टेड SUBSTRING_INDEX() और स्ट्रिंग फंक्शन्स का उपयोग करके पूरे नाम को पहला, मध्य और अंतिम नाम में विभाजित किया जा सकता है।

नमूना डेटा: customerdetail टेबल

mysql> SELECT * FROM customerdetail;
+----------------------+----------------------+----------+---------------------+
| Name                 | FName                | Address  | Emailid             |
+----------------------+----------------------+----------+---------------------+
| Advik Jhamb          | Lovkesh Jhamb        | Mumbai   | Advik@gmail.com     |
| Chirag Jai Patil     | Raman Jai Patil      | Gujrat   | chirahp@yahoo.com   |
| Devansh Singh Rajput | Kishore Singh Rajput | Rajastan | Devansh@Hotmail.com |
| Mitul Kumar Sharma   | Om Veer Sharma       | Patiala  | Mitul@gmail.com     |
+----------------------+----------------------+----------+---------------------+

विभाजन क्वेरी

mysql> SELECT 
    Name,
    SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) AS First_Name,
    IF(LENGTH(Name) - LENGTH(REPLACE(Name, ' ', '')) > 1,
       SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1),
       NULL) AS Middle_Name,
    SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 3), ' ', -1) AS Last_Name,
    Address
FROM customerdetail;

परिणाम

+----------------------+------------+-------------+-----------+----------+
| Name                 | First_Name | Middle_Name | Last_Name | Address  |
+----------------------+------------+-------------+-----------+----------+
| Advik Jhamb          | Advik      | NULL        | Jhamb     | Mumbai   |
| Chirag Jai Patil     | Chirag     | Jai         | Patil     | Gujrat   |
| Devansh Singh Rajput | Devansh    | Singh       | Rajput    | Rajastan |
| Mitul Kumar Sharma   | Mitul      | Kumar       | Sharma    | Patiala  |
+----------------------+------------+-------------+-----------+----------+

तर्क व्याख्या

  • First_Name: पहला शब्द (पहले स्पेस से पहले)
  • Middle_Name: यदि 2 से अधिक स्पेस हैं तो दूसरा शब्द, अन्यथा NULL
  • Last_Name: तीसरा शब्द (या अंतिम शब्द)

सीमाएं

  • केवल स्पेस डिलीमिटर मानता है
  • एक से अधिक मध्य नाम होने पर केवल दूसरा शब्द लेता है
  • अधिक जटिल पार्सिंग के लिए एप्लिकेशन लेयर (PHP, Python आदि) बेहतर
  1. - MySQL स्टोर्ड फंक्शन को डेटाबेस से कैसे डिलीट करें?

    यदि आपके पास ALTER ROUTINE अधिकार है, तो DROP FUNCTION स्टेटमेंट से स्टोर्ड फंक्शन डिलीट कर सकते हैं। सिंटैक्स: DROP FUNCTION [IF EXISTS] function_name IF EXISTS क्लॉज वैकल्पिक है - यदि फंक्शन मौजूद नहीं है तो एरर रोकता है। उदाहरण: DROP FUNCTION if exists Hello1; Query OK, 0 rows affected (0.70

  1. - MySQL में SUBSTRING_INDEX से स्ट्रिंग विभाजित करना

    SUBSTRING_INDEX() से नाम विभाजित करना SUBSTRING_INDEX(str, delim, count) डिलीमीटर के आधार पर सबस्ट्रिंग निकालता है। धनात्मक count बाएँ से, ऋणात्मक दाएँ से गिनता है। तालिका और डेटा (Chris Brown), (David Miller), (John Doe); पहला और अंतिम नाम निकालना FROM DemoTable1465; परिणाम +----------------

  1. - MySQL में स्ट्रिंग का एक भाग (डोमेन नाम @ के बाद) कैसे बदलें?

    परिचय ईमेल पतों में डोमेन नाम बदलने के लिए MySQL के REPLACE() फंक्शन का उपयोग किया जा सकता है। यह तब उपयोगी होता है जब आपको थोक में ईमेल डोमेन अपडेट करने हों। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.53 sec) INSERT INTO DemoTable VALUES(John123@example.com); Query OK, 1 r