การแทนที่จุด (.) ด้วยจุลภาค (,) ในผลลัพธ์ 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) แทน