การอัปเดตคอลัมน์ VARCHAR ตัวเลข: ตัดท้าย 1 ตัว แล้วต่อ '55'
ใช้ SUBSTRING, LENGTH, CONCAT ร่วมกันในคำสั่ง UPDATE เพื่อปรับเปลี่ยนค่าในคอลัมน์ VARCHAR ที่เก็บตัวเลข
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (Value VARCHAR(100));
Query OK, 0 rows affected (1.80 sec)
mysql> INSERT INTO DemoTable VALUES('100');
mysql> INSERT INTO DemoTable VALUES('1244');
mysql> INSERT INTO DemoTable VALUES('15789');
แสดงข้อมูลก่อนอัปเดต
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+-------+
| Value |
+-------+
| 100 |
| 1244 |
| 15789 |
+-------+
3 rows in set (0.07 sec)
คำสั่ง UPDATE: ตัดตัวสุดท้ายออก แล้วต่อ '55'
mysql> UPDATE DemoTable SET Value = CONCAT(SUBSTRING(Value, 1, LENGTH(Value) - 1), '55');
Query OK, 3 rows affected (0.23 sec)
ตรวจสอบข้อมูลหลังอัปเดต
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+--------+
| Value |
+--------+
| 1055 |
| 12455 |
| 157855 |
+--------+
3 rows in set (0.00 sec)
คำอธิบาย
LENGTH(Value) - 1: ความยาวลบ 1 (ตำแหน่งก่อนตัวสุดท้าย)SUBSTRING(Value, 1, LENGTH(Value)-1): ตัดเอาตัวแรกถึงตัวก่อนสุดท้ายCONCAT(..., '55'): ต่อสตริง '55' เข้าไปท้าย- 100 → '10' + '55' = '1055'
- 1244 → '124' + '55' = '12455'
- 15789 → '1578' + '55' = '157855'
- ระวัง: คำสั่งนี้อัปเดตทุกแถวในตาราง (ไม่มี WHERE)