我有一个表,其中包含存储为字符串 (VARCHAR
) 的纬度和经度值,我希望将其转换为 FLOAT (10,6)
。
但是,使用 CAST()
或 CONVERT()
似乎没有一种简单的方法来执行此操作。
如何轻松转换这些列?这是一次性转换。
最佳答案
事实证明我只是在 CAST()
描述中缺少 DECIMAL
:
DECIMAL[(M[,D])]
Converts a value to DECIMAL data type. The optional arguments M and D specify the precision (M specifies the total number of digits) and the scale (D specifies the number of digits after the decimal point) of the decimal value. The default precision is two digits after the decimal point.
因此,以下查询有效:
UPDATE table SET
latitude = CAST(old_latitude AS DECIMAL(10,6)),
longitude = CAST(old_longitude AS DECIMAL(10,6));
关于mysql - mysql 中如何将字符串转换为浮点型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57008126/