MySQL 中提供了多種方式將字符串轉換為數字類型。
一般而言,字符串轉換為數字可以通過 CAST() 函數和 CONVERT() 函數來實現。兩者功能相同,區別在于 CAST() 函數支持更多的數據類型。
-- 使用 CAST() 函數轉換字符串為整數 SELECT CAST('123' AS SIGNED); -- 使用 CAST() 函數轉換字符串為浮點數 SELECT CAST('3.14' AS DECIMAL(10,2)); -- 使用 CONVERT() 函數轉換字符串為整數 SELECT CONVERT('456', SIGNED); -- 使用 CONVERT() 函數轉換字符串為浮點數 SELECT CONVERT('7.89', DECIMAL(5,2));
需要注意的是,如果字符串不能轉換為數字,則會返回 NULL,如:
SELECT CAST('abc' AS SIGNED); -- 返回 NULL SELECT CONVERT('def', UNSIGNED); -- 返回 NULL
另外,MySQL 也提供了 FORMAT() 函數,可以將數字格式化為指定的格式字符串,例如:
SELECT FORMAT(12345.6789, '#,###.00') AS formatted_number; -- 返回 12,345.68
在使用字符串轉換為數字時,還需要考慮數據類型的精度和范圍問題,以避免數據溢出或截斷。