ใช้ SUBSTR() กับตำแหน่งลบ (Negative position) เพื่อดึงเฉพาะ N ตัวอักษรสุดท้ายของสตริง แล้ว UPDATE กลับเข้าไป
ตัวอย่างการสร้างตาราง
mysql> create table DemoTable (
Strength text );
Query OK, 0 rows affected (0.51 sec)
เพิ่มข้อความยาว
mysql> insert into DemoTable values('John is a good programmer');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('Chris is a good player in cricket');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Bob is good in algorithm');
Query OK, 1 row affected (0.42 sec)
แสดงข้อมูลก่อนตัด
mysql> select * from DemoTable;
+-----------------------------------+ | Strength | +-----------------------------------+ | John is a good programmer | | Chris is a good player in cricket | | Bob is good in algorithm | +-----------------------------------+ 3 rows in set (0.00 sec)
คำสั่ง UPDATE เก็บแค่ 7 ตัวอักษรสุดท้าย
mysql> update DemoTable set Strength = substr(Strength, -7, 7); Query OK, 3 rows affected (0.46 sec) Rows matched: 3 Changed: 3 Warnings: 0
ผลลัพธ์ (7 ตัวอักษรสุดท้าย)
mysql> select * from DemoTable;
+----------+ | Strength | +----------+ | grammer | | cricket | | gorithm | +----------+ 3 rows in set (0.00 sec)
คำอธิบาย: SUBSTR(str, -7, 7) หมายถึง เริ่มจากตำแหน่ง -7 (นับจากท้าย 7 ตัว) ความยาว 7 ตัว = 7 ตัวอักษรสุดท้าย
รูปแบบตำแหน่งลบ:
SUBSTR(str, -n)- ดึง n ตัวอักษรสุดท้ายSUBSTR(str, -n, m)- ดึง m ตัวอักษร เริ่มจาก n ตัวจากท้าย
ข้อควรระวัง: คำสั่ง UPDATE นี้เปลี่ยนข้อมูลถาวร ควร BACKUP หรือทดสอบด้วย SELECT ก่อน