从'float'转换为'int'?

时间:2014-03-18 07:24:14

标签: mysql int type-conversion

我有一个包含超过100万条记录的表,在2列中,数据类型为varchar(50)我的值为23.23。

我需要将数据/值转换为int。 例如,23.23到23删除浮点。

我在这张桌子上没有主键。

6 个答案:

答案 0 :(得分:2)

ALTER TABLE t1 CHANGE <column_name> <column_name> <type> 

注意:您必须两次写入列名 OR

ALTER TABLE t1 MODIFY <column_name> <type> ;

Reference

答案 1 :(得分:2)

试试这个:

SELECT ROUND(5.693893);

SELECT FLOOR(7.55);

答案 2 :(得分:1)

您可以使用FLOOR

SELECT FLOOR(columnName) 
FROM TableName

Floor返回不大于X的最大整数值。

了解更多here

要转换字段的数据类型:

ALTER TABLE TableName CHANGE columnName newColumnName targetFieldType;

答案 3 :(得分:1)

您可以尝试将此字段转换为十进制。

SELECT CAST(field AS DECIMAL(10,0)) FROM table;

答案 4 :(得分:0)

我有同样的问题。我的表有一个类型为'float'的字段,我需要它是'int'类型。

感谢Neels!

所以,我必须首先将字段转换为DECIMAL类型,其中10,0(十进制后没有值),然后将字段转换为INT,长度为11。

ALTER TABLE track更改type type DECIMAL(10,0);

ALTER TABLE track更改type type INT(11);

答案 5 :(得分:-1)

ALTER TABLE tablename CHANGE columnname columnname INT