SUBSTRING, LENGTH, CONCAT के साथ स्ट्रिंग मैनिपुलेशन
VARCHAR कॉलम में संग्रहीत संख्याओं के अंतिम अंक को हटाकर नए अंक जोड़ने के लिए स्ट्रिंग फंक्शन का उपयोग करें।
टेबल और डेटा (VARCHAR संख्याएं)
mysql> CREATE TABLE DemoTable (
Value VARCHAR(100)
);
Query OK, 0 rows affected (1.80 sec)
mysql> INSERT INTO DemoTable VALUES('100');
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable VALUES('1244');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES('15789');
Query OK, 1 row affected (0.18 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+-------+ | Value | +-------+ | 100 | | 1244 | | 15789 | +-------+ 3 rows in set (0.07 sec)
अंतिम अंक हटाकर '55' जोड़ना
mysql> UPDATE DemoTable
SET Value = CONCAT(SUBSTRING(Value, 1, LENGTH(Value) - 1), '55');
Query OK, 3 rows affected (0.23 sec)
Rows matched: 3 Changed: 3 Warnings: 0
अपडेट के बाद रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+--------+ | Value | +--------+ | 1055 | | 12455 | | 157855 | +--------+ 3 rows in set (0.00 sec)
तर्क:
- '100': लंबाई 3,
SUBSTRING(..., 1, 2)= '10', + '55' = '1055' - '1244': लंबाई 4,
SUBSTRING(..., 1, 3)= '124', + '55' = '12455' - '15789': लंबाई 5,
SUBSTRING(..., 1, 4)= '1578', + '55' = '157855'
सावधानी: यह स्ट्रिंग ऑपरेशन है। यदि संख्यात्मक गणना करनी है, तो पहले CAST(Value AS UNSIGNED) करें, गणना करें, फिर CAST(... AS CHAR) वापस करें।