ใช้ REPLACE() ลบช่องว่างออกจากตัวเลขที่เก็บเป็นสตริง
mysql> CREATE TABLE DemoTable1546 (
-> Number VARCHAR(20)
-> );
Query OK, 0 rows affected (0.99 sec)
mysql> INSERT INTO DemoTable1546 VALUES('145 78 90');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable1546 VALUES('89 789 564 903');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable1546 VALUES('1345 7894 866 653534');
Query OK, 1 row affected (0.12 sec)
mysql> SELECT * FROM DemoTable1546;
+----------------------+ | Number | +----------------------+ | 145 78 90 | | 89 789 564 903 | | 1345 7894 866 653534 | +----------------------+ 3 rows in set (0.00 sec)
อัปเดตลบช่องว่างทั้งหมด:
mysql> UPDATE DemoTable1546 SET Number = REPLACE(Number, ' ', ''); Query OK, 3 rows affected (0.13 sec)
mysql> SELECT * FROM DemoTable1546;
+-------------------+ | Number | +-------------------+ | 1457890 | | 89789564903 | | 13457894866653534 | +-------------------+ 3 rows in set (0.00 sec)
แนวทางปฏิบัติที่ดี: ควรทำความสะอาดข้อมูลก่อน INSERT (Sanitize) หรือใช้ชนิดข้อมูลตัวเลข (BIGINT, DECIMAL) แทนการเก็บเป็นสตริง