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

MySQL क्वेरी: प्रत्येक कॉलम मान से अंतिम दो शब्द हटाएं

परिचय

MySQL में LEFT() और LENGTH() फंक्शन्स का उपयोग करके स्ट्रिंग के अंतिम N अक्षर हटाए जा सकते हैं। यह उदाहरण अंतिम 2 अक्षर हटाता है (शब्द नहीं, अक्षर)।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(10)
    -> );
Query OK, 0 rows affected (0.71 sec)
mysql> INSERT INTO DemoTable VALUES('John');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('Chris');
Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO DemoTable VALUES('Robert');
Query OK, 1 row affected (0.11 sec)

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+--------+
| Name   |
+--------+
| John   |
| Chris  |
| Robert |
+--------+
3 rows in set (0.00 sec)

अंतिम 2 अक्षर हटाने की क्वेरी

mysql> SELECT LEFT(Name, LENGTH(Name) - 2) FROM DemoTable;

परिणाम

+---------------------------+
| LEFT(Name, LENGTH(Name)-2) |
+---------------------------+
| Jo                        |
| Chr                       |
| Robe                      |
+---------------------------+
3 rows in set (0.02 sec)

व्याख्या

  • LENGTH(Name) - स्ट्रिंग लंबाई
  • LENGTH(Name) - 2 - अंतिम 2 अक्षर छोड़कर लंबाई
  • LEFT(Name, ...) - बाईं ओर से उतने अक्षर निकालता है

शीर्षक सुधार: "शब्द" बनाम "अक्षर"

मूल शीर्षक "अंतिम दो शब्द" कहता है लेकिन क्वेरी अंतिम 2 अक्षर हटाती है। वास्तविक शब्द हटाने के लिए:

अंतिम 2 शब्द हटाने (स्पेस से अलग)

SELECT
  CASE
    WHEN LENGTH(Name) - LENGTH(REPLACE(Name, ' ', '')) < 2 THEN Name
    ELSE TRIM(SUBSTRING_INDEX(Name, ' ', LENGTH(Name) - LENGTH(REPLACE(Name, ' ', '')) - 1))
  END AS trimmed_name
FROM DemoTable;

सरल: अंतिम N अक्षर हटाएं

-- अंतिम 3 अक्षर
SELECT LEFT(Name, LENGTH(Name) - 3) FROM DemoTable;

-- SUBSTRING विकल्प
SELECT SUBSTRING(Name, 1, LENGTH(Name) - 2) FROM DemoTable;

नोट

यदि स्ट्रिंग लंबाई < 2 है, तो LENGTH - 2 ऋणात्मक होगा और LEFT खाली स्ट्रिंग लौटाएगा। GREATEST(0, LENGTH(Name) - 2) उपयोग करके सुरक्षित बनाएं।

  1. - MySQL में एक ही क्वेरी से अलग-अलग कॉलम मानों में एकाधिक शब्दों को खोजें

    परिचय MySQL में किसी टेबल के कॉलम में एक साथ कई शब्दों को खोजने के लिए WHERE क्लॉज के साथ एकाधिक LIKE ऑपरेटर का उपयोग किया जा सकता है। यह तरीका तब उपयोगी होता है जब आपको किसी टेक्स्ट कॉलम में कई कीवर्ड्स की उपस्थिति जांचनी हो। उदाहरण: टेबल बनाना और डेटा डालना सबसे पहले एक डेमो टेबल बनाते हैं: ); Q

  1. - MySQL में REPLACE() से कॉलम मान में विशेष वर्ण बदलें

    MySQL का REPLACE() फ़ंक्शन किसी स्ट्रिंग में सभी घटनाओं को ढूंढकर नए स्ट्रिंग से बदल देता है। इसका उपयोग UPDATE के साथ करके कॉलम डेटा साफ़ कर सकते हैं। सिंटैक्स UPDATE टेबल_नाम SET कॉलम_नाम = REPLACE(कॉलम_नाम, पुराना_स्ट्रिंग, नया_स्ट्रिंग); उदाहरण: ______ को Mike_007 से बदलें 1. टेबल बनाएं CREA

  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(