我有一个表,其中包含纬度和经度值,这些值存储为VARCHAR要转换为的字符串()FLOAT (10,6)。
VARCHAR
FLOAT (10,6)
但是,使用CAST()或似乎没有一种直接的方法CONVERT()。
CAST()
CONVERT()
如何轻松转换这些列?这是一次转换。
原来我只是DECIMAL在CAST()描述上不见了:
DECIMAL
DECIMAL[(M[,D])] 将值转换为DECIMAL数据类型。可选参数M和D指定十进制值的精度(M指定位数的总数)和小数位数(D指定小数点后的位数)。默认精度是小数点后两位。
DECIMAL[(M[,D])]
将值转换为DECIMAL数据类型。可选参数M和D指定十进制值的精度(M指定位数的总数)和小数位数(D指定小数点后的位数)。默认精度是小数点后两位。
因此,以下查询有效:
UPDATE table SET latitude = CAST(old_latitude AS DECIMAL(10,6)), longitude = CAST(old_longitude AS DECIMAL(10,6));