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

MySQL SUBSTRING_INDEX() से नाम को दो भागों (पहला और अंतिम) में विभाजित करें

SUBSTRING_INDEX() और SUBSTR()/LOCATE() का उपयोग करके नाम को केवल दो भागों — पहला नाम और शेष (अंतिम नाम + मध्य नाम) — में विभाजित कर सकते हैं।

नमूना डेटा

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 | Rajasthan | Devansh@Hotmail.com |
| Mitul Kumar Sharma   | Om Veer Sharma       | Patiala   | Mitul@gmail.com     |
+----------------------+----------------------+-----------+---------------------+

क्वेरी

mysql> SELECT 
    SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) AS First_Name,
    TRIM(SUBSTR(Name, LOCATE(' ', Name))) AS Last_Name
FROM customerdetail;

परिणाम

+------------+--------------+
| First_Name | Last_Name    |
+------------+--------------+
| Advik      | Jhamb        |
| Chirag     | Jai Patil    |
| Devansh    | Singh Rajput |
| Mitul      | Kumar Sharma |
+------------+--------------+

व्याख्या

  • First_Name: SUBSTRING_INDEX(Name, ' ', 1) पहला शब्द देता है, बाहरी SUBSTRING_INDEX(..., ' ', -1) ट्रिमिंग के लिए (हालांकि यहां अनावश्यक है)।
  • Last_Name: LOCATE(' ', Name) पहला स्पेस ढूंढता है, SUBSTR उससे आगे का भाग लेता है, TRIM अग्रणी स्पेस हटाता है।
  • मध्य नाम अंतिम नाम का हिस्सा बन जाता है (दूसरे उदाहरण में 'Jai Patil')।

सरल विकल्प

SELECT 
    SUBSTRING_INDEX(Name, ' ', 1) AS First_Name,
    TRIM(SUBSTRING(Name, LOCATE(' ', Name))) AS Last_Name
FROM customerdetail;

बाहरी SUBSTRING_INDEX की आवश्यकता नहीं क्योंकि पहला शब्द पहले से ही स्पेस-रहित होता है।

  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