我有一个列的airline_id,它是表路由中的varchar,现在我想将该值复制到具有int类型的列airline_id_int中。虽然我无法正确理解语法..
这就是我所拥有的:
UPDATE route SET airline_id_int = CAST(airline_id, int);
答案 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);