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

MySQL में स्पेस से पहले के सभी वर्ण कैसे प्राप्त करें?


MySQL में LEFT() और LOCATE() फंक्शन का उपयोग करके स्पेस से पहले का भाग (पहला नाम) निकालें।

सिंटैक्स

SELECT LEFT(yourColumnName, LOCATE(' ', yourColumnName) - 1) as FirstName FROM yourTableName;

उदाहरण

टेबल बनाना

mysql> create table AllCharacterBeforeSpace (
-> FirstNameAndLastName varchar(200)
-> ); Query OK, 0 rows affected (0.51 sec)

रिकॉर्ड डालना

mysql> insert into AllCharacterBeforeSpace values('John Smith');
mysql> insert into AllCharacterBeforeSpace values('Carol Taylor');
mysql> insert into AllCharacterBeforeSpace values('Maria Garcia');
mysql> insert into AllCharacterBeforeSpace values('James Johnson');

पहला नाम निकालना

mysql> select left(FirstNameAndLastName, LOCATE(' ', FirstNameAndLastName) - 1) as FirstNameBeforeSpace
-> from AllCharacterBeforeSpace;
+----------------------+
| FirstNameBeforeSpace |
+----------------------+
| John                 |
| Carol                |
| Maria                |
| James                |
+----------------------+

फंक्शन व्याख्या

  • LOCATE(' ', column) — पहला स्पेस की स्थिति ढूंढता है (1-आधारित)
  • LOCATE(...) - 1 — स्पेस से ठीक पहले तक की लंबाई
  • LEFT(column, length) — बाएं से उतने वर्ण निकालता है

एज केस: स्पेस न होने पर

mysql> insert into AllCharacterBeforeSpace values('SingleName');
mysql> select left(FirstNameAndLastName, LOCATE(' ', FirstNameAndLastName) - 1) 
from AllCharacterBeforeSpace WHERE FirstNameAndLastName = 'SingleName';

परिणाम: खाली स्ट्रिंग (क्योंकि LOCATE 0 लौटाता है, 0-1 = -1, LEFT खाली स्ट्रिंग देता है)

सुरक्षित संस्करण (स्पेस न होने पर पूरा नाम लौटाता है)

SELECT 
  CASE 
    WHEN LOCATE(' ', FirstNameAndLastName) > 0 
    THEN LEFT(FirstNameAndLastName, LOCATE(' ', FirstNameAndLastName) - 1)
    ELSE FirstNameAndLastName
  END as FirstName
FROM AllCharacterBeforeSpace;

अन्य उपयोगी फंक्शन

-- SUBSTRING_INDEX का उपयोग (अंतिम स्पेस के बाद का भाग)
SELECT SUBSTRING_INDEX(FirstNameAndLastName, ' ', -1) as LastName FROM AllCharacterBeforeSpace;

-- पहला नाम पाने का वैकल्पिक तरीका
SELECT SUBSTRING_INDEX(FirstNameAndLastName, ' ', 1) as FirstName FROM AllCharacterBeforeSpace;

  1. - MySQL में 8 महीने के अंतराल के बाद के रिकॉर्ड्स प्राप्त करना

    MySQL में वर्तमान तिथि से 8 महीने पहले के रिकॉर्ड्स प्राप्त करने के लिए INTERVAL 8 MONTH का उपयोग CURRENT_DATE() फ़ंक्शन के साथ किया जाता है। यह रिपोर्टिंग और डेटा विश्लेषण के लिए बहुत उपयोगी है। सिंटैक्स = (CURRENT_DATE() - INTERVAL 8 MONTH); व्यावहारिक उदाहरण 1. टेबल बनाएं और नमूना डेटा डालें

  1. - MySQL में एक क्वेरी से एकाधिक पंक्तियां कैसे प्राप्त करें

    IN() ऑपरेटर के साथ एकाधिक ID वाली पंक्तियां चुनना एक ही क्वेरी में कई विशिष्ट ID वाली पंक्तियां प्राप्त करने के लिए WHERE id IN (val1, val2, ...) का उपयोग करें। टेबल और डेटा CREATE TABLE DemoTable ( Id INT, Name VARCHAR(100) ); Query OK, 0 rows affected (0.60 sec) INSERT INTO DemoTable V

  1. - MySQL में SUBSTRING_INDEX से हाइफ़न से पहले का टेक्स्ट प्राप्त करें

    SUBSTRING_INDEX(str, delim, count) फ़ंक्शन स्ट्रिंग को डिलीमीटर से विभाजित करके निर्दिष्ट भाग लौटाता है। धनात्मक count बाएं से, ऋणात्मक दाएं से गिनता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1857 (Name VARCHAR(50)); डेटा डालें mysql> INSERT INTO DemoTable1857 VALUES(John-Smith); mysql>