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

MySQL में REVERSE और SUBSTR का उपयोग करके फ़ील्ड के अंतिम 3 वर्ण हटाना

MySQL में REVERSE() और SUBSTR() फ़ंक्शन को संयोजित करके स्ट्रिंग के अंतिम N वर्ण हटाएं (पहले से अंतिम N से पहले तक का भाग रखें)।

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

mysql> CREATE TABLE DemoTable (
    -> StudentId VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.58 sec)
mysql> INSERT INTO DemoTable VALUES('STU-090'), ('STU-123'), ('STU-678');

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+-----------+
| StudentId |
+-----------+
| STU-090   |
| STU-123   |
| STU-678   |
+-----------+
3 rows in set (0.00 sec)

अंतिम 3 वर्ण हटाने की क्वेरी (SELECT)

mysql> SELECT REVERSE(SUBSTR(REVERSE(StudentId), 4)) FROM DemoTable;

आउटपुट

+----------------------------------------+
| REVERSE(SUBSTR(REVERSE(StudentId), 4)) |
+----------------------------------------+
| STU-                                   |
| STU-                                   |
| STU-                                   |
+----------------------------------------+
3 rows in set (0.00 sec)

चरण-दर-चरण (STU-090 के लिए):

  1. REVERSE('STU-090') → '090-UTS'
  2. SUBSTR(..., 4) → 4थे वर्ण से अंत तक: '-UTS' (पहले 3 वर्ण '090' छोड़ता है)
  3. REVERSE('-UTS') → 'STU-'

सरल विकल्प - LEFT() + LENGTH():

SELECT LEFT(StudentId, LENGTH(StudentId) - 3) FROM DemoTable;

या SUBSTRING(StudentId, 1, LENGTH(StudentId) - 3)।

स्थायी अपडेट के लिए:

UPDATE DemoTable SET StudentId = LEFT(StudentId, LENGTH(StudentId) - 3);

सावधानी: स्ट्रिंग लंबाई 3 से कम होने पर परिणाम खाली स्ट्रिंग या अप्रत्याशित हो सकता है। WHERE क्लॉज में WHERE LENGTH(StudentId) > 3 जोड़ें।

  1. - MySQL में SUBSTRING() और LENGTH() से अंत से X वर्ण हटाएं (TRIM)

    MySQL में किसी स्ट्रिंग के अंत से निर्दिष्ट संख्या में वर्ण हटाने (ट्रिम करने) के लिए SUBSTRING() के साथ LENGTH() फ़ंक्शन का संयोजन उपयोग करें। MySQL में अंत से ट्रिम करने का कोई सीधा RTRIM(n) फ़ंक्शन नहीं है। सिंटैक्स SUBSTRING(column_name, 1, LENGTH(column_name) - n) 1 - प्रारंभ स्थिति (पहला वर्

  1. - MySQL में ORDER BY DESC LIMIT से अंतिम 30 पंक्तियां प्राप्त करें

    MySQL में अंतिम N पंक्तियां प्राप्त करने के लिए ORDER BY ... DESC LIMIT N का उपयोग करें, फिर आवश्यकतानुसार पुनः क्रमबद्ध करें। सिंटैक्स SELECT * FROM टेबल_नाम ORDER BY कॉलम_नाम DESC LIMIT 30; उदाहरण: अंतिम 30 पंक्तियां (ID अवरोही क्रम) 1. टेबल बनाएं (ऑटो-इन्क्रीमेंट ID) ); 2. 37 पंक्तियां डालें

  1. - MySQL में किसी दिनांक का अंतिम सेकंड (23:59:59) कैसे प्राप्त करें?

    MySQL में DATE() और INTERVAL अंकगणित का उपयोग करके किसी दिनांक का अंतिम सेकंड (दिन का अंत: 23:59:59) प्राप्त किया जा सकता है। तर्क DATE(datetime) - समय भाग हटाकर केवल दिनांक (00:00:00) + INTERVAL 1 DAY - अगले दिन की शुरुआत - INTERVAL 1 SECOND - 1 सेकंड घटाकर दिन का अंत उदाहरण तालिका बनाएं: mysql