Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ลบตัวอักษรสุดท้ายและต่อค่าใหม่ 2 ตัวในคอลัมน์ VARCHAR ตัวเลขใน MySQL

การอัปเดตคอลัมน์ 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)