เมื่อได้ลองทำการบวกค่าที่อยู่ในฐานข้อมูลชนิด Text เช่น 1,000.00 กับค่า 20,000.00
SQL คือ SELECT (num1 + num2) as sumtotal FROM tbl_test
ผลลัพธ์ที่ได้มาคือ 21 ซึ่งมันจะมองเห็นตัวเลขข้างหน้าลูกน้ำ คือ 1 และ 20 มาบวกกันเท่านั้น
วิธีที่ผมใช้แก้ไข คือ
SELECT (REPLACE(num1,',','') + REPLACE(num2,',','')) as sumnew FROM tbl_test
- REPLACE(ค่าที่ต้องการแก้ไข,'ค่าที่ต้องการเปลี่ยน','ค่่าที่นำมาแทนที')
แล้วผลลัพธ์ที่ได้ คือ 21000
แต่ถ้าหาำกค่าที่อยู่ภายในฐานข้อมูลเรามีจุดทศนิยม เช่น 1,000.50 กับค่า 20,000.25
ผลลัพธ์ที่ได้ คือ 21.000.75
ซึ่งคำสั่งนี้จะเหมือนกับ str_replace ใน PHP ครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น