在mysql中将varchar转换为int

时间:2013-10-31 09:42:06

标签: mysql

我有一个列的airline_id,它是表路由中的varchar,现在我想将该值复制到具有int类型的列airline_id_int中。虽然我无法正确理解语法..

这就是我所拥有的:

UPDATE route SET airline_id_int = CAST(airline_id, int);

4 个答案:

答案 0 :(得分:11)

您必须使用 AS 关键字 CAST

update route set airline_id_int = cast(airline_id AS UNSIGNED)

您可以使用

update route set airline_id_int = cast(airline_id AS SIGNED)

答案 1 :(得分:3)

尝试以下方法:

update route set airline_id_int = cast(airline_id AS UNSIGNED);

无法直接投射到int。 如果您需要signed int,请将UNSIGNED替换为SIGNED

答案 2 :(得分:1)

update route set airline_id_int = cast(airline_id as signed);

update route set airline_id_int = cast(airline_id as unsigned);

如果可能是否定的

答案 3 :(得分:0)

试试这个

update route set airline_id_int = CONVERT(airline_id, UNSIGNED);
update route set airline_id_int = CONVERT(airline_id, SIGNED);