我有一个包含超过100万条记录的表,在2列中,数据类型为varchar(50)
我的值为23.23。
我需要将数据/值转换为int
。
例如,23.23到23删除浮点。
我在这张桌子上没有主键。
答案 0 :(得分:2)
ALTER TABLE t1 CHANGE <column_name> <column_name> <type>
注意:您必须两次写入列名 OR
ALTER TABLE t1 MODIFY <column_name> <type> ;
答案 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