6

我在路由表中有一个 varchar 列航空公司 ID,现在我想将该值复制到类型为 int 的航空公司 ID 列中。我无法获得正确的语法..

这就是我所拥有的:

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

4 回答 4

14

您必须对CAST使用AS关键字。

update route set airline_id_int = cast(airline_id AS UNSIGNED)

您可以使用

update route set airline_id_int = cast(airline_id AS SIGNED)

也是。

于 2013-10-31T09:46:35.887 回答
3

尝试以下操作:

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

无法直接投射到int. 如果您需要带符号的 int,请替换UNSIGNEDSIGNED.

于 2013-10-31T09:45:57.297 回答
1
update route set airline_id_int = cast(airline_id as signed);

或者

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

如果它可以是负数

于 2013-10-31T09:49:14.707 回答
0

试试这个

update route set airline_id_int = CONVERT(airline_id, UNSIGNED);
update route set airline_id_int = CONVERT(airline_id, SIGNED);
于 2013-10-31T09:53:07.403 回答