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

แทนที่จุดทศนิยมด้วยจุลภาคใน SELECT MySQL

การแทนที่จุด (.) ด้วยจุลภาค (,) ในผลลัพธ์ SELECT MySQL

ใช้ฟังก์ชัน REPLACE() แทนที่ตัวอักษรในสตริง

SELECT REPLACE(yourColumn, '.', ',') FROM yourTable;

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มตัวเลขทศนิยม:

mysql> create table DemoTable (Value float);
mysql> insert into DemoTable values(4.56);
mysql> insert into DemoTable values(456.23);
mysql> insert into DemoTable values(1078.3);
mysql> insert into DemoTable values(2000.50);
mysql> insert into DemoTable values(78.99);

ข้อมูลต้นฉบับ:

+--------+
| Value  |
+--------+
| 4.56   |
| 456.23 |
| 1078.3 |
| 2000.5 |
| 78.99  |
+--------+

คิวรีแทนที่ . ด้วย , :

mysql> select replace(Value, '.', ',') from DemoTable;
+------------------------+
| replace(Value, '.', ',') |
+------------------------+
| 4,56                   |
| 456,23                 |
| 1078,3                 |
| 2000,5                 |
| 78,99                  |
+------------------------+

ข้อควรระวัง:

  • ผลลัพธ์เป็น **String (VARCHAR)** ไม่ใช่ Number ไม่สามารถคำนวณต่อได้
  • แทนที่ **ทุกจุด** ในสตริง (หากมี IP Address เช่น 192.168.1.1 จะกลายเป็น 192,168,1,1)
  • ใช้เฉพาะการแสดงผล (Display/Export) เท่านั้น

ทางเลือกที่ดีกว่าสำหรับ Locale Formatting:

  • FORMAT(number, decimals, locale) - MySQL 8.0+ รองรับ Locale (เช่น 'de_DE' ใช้จุดคั่นพัน จุลภาคทศนิยม)
  • จัดรูปแบบที่ Application Layer (PHP, Python, Java, JS) แทน