我有一个表格,其中包含超过100万条记录,在两个数据类型为varchar(50)
的列中,我有像23.23这样的值。
我需要将数据/值转换为int
。
例如,通过删除浮点数,将23.23转换为23。
该表上没有主键。
我有一个表格,其中包含超过100万条记录,在两个数据类型为varchar(50)
的列中,我有像23.23这样的值。
我需要将数据/值转换为int
。
例如,通过删除浮点数,将23.23转换为23。
该表上没有主键。
ALTER TABLE t1 CHANGE <column_name> <column_name> <type>
注意: 您必须将列名写两次 OR
ALTER TABLE t1 MODIFY <column_name> <type> ;
FLOOR
:SELECT FLOOR(columnName)
FROM TableName
Floor
返回不大于 X 的最大整数值。
在这里阅读更多详细信息。
要转换字段的数据类型:
ALTER TABLE TableName CHANGE columnName newColumnName targetFieldType;
试试这个:
SELECT ROUND(5.693893);
SELECT FLOOR(7.55);
SELECT CAST(field AS DECIMAL(10,0)) FROM table;
我也遇到了同样的问题。我的表有一个字段是'float'类型,但我需要它是'int'类型。
感谢Neels!
所以,我首先将该字段转换为DECIMAL类型,长度为10,0(小数点后没有值),然后再将该字段转换为长度为11的INT类型。
ALTER TABLE track
CHANGE type
type
DECIMAL(10,0);
ALTER TABLE track
CHANGE type
type
INT(11);
ALTER TABLE tablename CHANGE columnname columnname INT