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

จัดรูปแบบตัวเลขที่มีช่องว่างระหว่างหลักใน MySQL

ใช้ 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) แทนการเก็บเป็นสตริง