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

MySQL में TRIM, SUBSTRING, REVERSE, LOCATE के साथ कोष्ठक में घिरे अनुगामी संख्याओं को हटाना

MySQL में स्ट्रिंग फंक्शन के संयोजन से कोष्ठक में घिरे अनुगामी संख्याएं हटाना

"1stJohn (7)" जैसे स्ट्रिंग से अंतिम कोष्ठक और उसके अंदर की संख्या को हटाने के लिए REVERSE, LOCATE, SUBSTRING, TRIM को मिलाकर उपयोग किया जा सकता है।

व्यावहारिक उदाहरण

तालिका बनाना

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

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

mysql> INSERT INTO DemoTable VALUES('1stJohn');
mysql> INSERT INTO DemoTable VALUES('1stJohn (7)');
mysql> INSERT INTO DemoTable VALUES('2ndSam');
mysql> INSERT INTO DemoTable VALUES('2ndSam (4)');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------------+
| Name        |
+-------------+
| 1stJohn     |
| 1stJohn (7) |
| 2ndSam      |
| 2ndSam (4)  |
+-------------+

अनुगामी कोष्ठक संख्या हटाने के लिए क्वेरी

mysql> SELECT TRIM(SUBSTRING(Name, 1, 
    (CHAR_LENGTH(Name) - LOCATE('(', REVERSE(Name))))) 
AS RemovingTrailingNumbers 
FROM DemoTable;

आउटपुट:

+-------------------------+
| RemovingTrailingNumbers |
+-------------------------+
| 1stJohn                 |
| 1stJohn                 |
| 2ndSam                  |
| 2ndSam                  |
+-------------------------+

चरण-दर-चरण व्याख्या

  1. REVERSE(Name) - स्ट्रिंग उलट देता है: "1stJohn (7)" → "7) nhoJts1"
  2. LOCATE('(', REVERSE(Name)) - उलटी स्ट्रिंग में '(' की स्थिति (यहां 2)
  3. CHAR_LENGTH(Name) - LOCATE(...) - मूल स्ट्रिंग में '(' की स्थिति से पहले की लंबाई
  4. SUBSTRING(Name, 1, length) - शुरुआत से '(' से पहले तक निकालता है
  5. TRIM() - किसी भी अनुगामी स्पेस को हटाता है

सरल विकल्प (यदि फॉर्मेट निश्चित है)


            
  1. - MySQL में RTRIM() का उपयोग करके अनुगामी स्पेस कैसे हटाएं?

    MySQL में RTRIM() फ़ंक्शन का उपयोग करके स्ट्रिंग के दाएं छोर से स्पेस (अनुगामी स्पेस) हटाए जा सकते हैं। सिंटैक्स RTRIM(string) उदाहरण तालिका बनाएं और स्पेस के साथ डेटा डालें: mysql> CREATE TABLE DemoTable (FirstName VARCHAR(50)); mysql> INSERT INTO DemoTable VALUES (John ), (Chris ), ( David

  1. - MySQL में संख्याओं के साथ मिश्रित वर्ण कॉलम से वर्ण मान सॉर्ट करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Code varchar(20) -> ); Query OK, 0 rows affected (0.70 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(J23); Query OK, 1 row affected (0.17 sec) mysql> insert into De

  1. - MySQL में 'FROM' को कॉलम नाम कैसे बनाएं?

    चूंकि FROM एक आरक्षित शब्द है, इसे कॉलम नाम मानने के लिए बैकटिक्स प्रतीक का उपयोग करें। हम अब FROM आरक्षित शब्द को बैकटिक से घेरकर एक टेबल बनाएंगे: mysql> create table DemoTable1810 ( `from` varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड