在mysql中将char(5)转换为tinyint(4)

时间:2013-02-04 19:54:21

标签: mysql

我正在尝试将一个表中的行插入到另一个表中。在第一个表中,一列的数据类型是char(5),但是同一列在第二个表中具有tinyint(4)数据类型。当我运行插入查询时,它说

Incorrect integer value: '' for column 'x' at row 258

我现在无法更改或修改数据类型,因为它违反了某些限制。有没有办法使用强制转换或将char转换为tinyint?

感谢。

1 个答案:

答案 0 :(得分:2)

你可能想要这样的东西:

INSERT INTO newtable
SELECT CASE WHEN x = '' THEN 0 ELSE x END
FROM oldtable

我假设你想把空白变成零?如果没有,则提供您想要空白的整数值。

如果还有其他例外,请在CASE表达式中使用更多替代项。