การแปลงชนิดข้อมูล String (VARCHAR) ให้เป็นตัวเลข (DOUBLE)
วิธีง่ายที่สุดใน MySQL: **บวก 0.0** เข้าไป (col + 0.0) MySQL จะแปลง String เป็น Number อัตโนมัติ (Implicit Cast)
Syntax
SELECT column_name + 0.0 AS numeric_alias FROM table_name;
ตัวอย่างการใช้งาน
สร้างตารางเก็บตัวเลขเป็น VARCHAR:
mysql> CREATE TABLE DemoTable731 (Value VARCHAR(100));
Query OK, 0 rows affected (0.50 sec)
mysql> INSERT INTO DemoTable731 VALUES ('4.50'), ('7.83'), ('8.91'), ('560.34');
Query OK, 4 rows affected
ข้อมูลต้นฉบับ (ชนิด VARCHAR):
mysql> SELECT * FROM DemoTable731;
+--------+ | Value | +--------+ | 4.50 | | 7.83 | | 8.91 | | 560.34 | +--------+ 4 rows in set (0.00 sec)
แปลงเป็นตัวเลข (DOUBLE) ด้วย + 0.0:
mysql> SELECT Value + 0.0 AS demo FROM DemoTable731;
+-----------+ | demo | +-----------+ | 4.5 | | 7.83 | | 8.91 | | 560.34 | +-----------+ 4 rows in set (0.28 sec)
วิธีแปลงชนิดข้อมูลอื่นๆ
| วิธี | Syntax | คำอธิบาย |
|---|---|---|
| Implicit Cast | col + 0 หรือ col * 1 | ง่ายที่สุด แปลงเป็น DOUBLE |
| CAST | CAST(col AS DECIMAL(10,2)) | มาตรฐาน SQL ระบุ Precision ได้ |
| CONVERT | CONVERT(col, DECIMAL(10,2)) | มาตรฐาน ODBC |
| DECIMAL() | DECIMAL(col, 10, 2) | ฟังก์ชัน MySQL เฉพาะ |