如何在MySQL中更新字段时解析int

时间:2014-04-17 15:28:49

标签: mysql int

我有一个mysql查询

UPDATE table SET number=number*1.06

如何在sql命令中将数字解析为int,以便最终在表中的数字是整数?

2 个答案:

答案 0 :(得分:0)

UPDATE table SET number=ROUND(number*1.06) 

做到了

答案 1 :(得分:0)

  

如何在sql命令中将数字解析为int,以便最终在表中的数字是整数?

在输出中使用CAST作为DECIMAL

示例

UPDATE table SET number = CAST( number * 1.06 as DECIMAL( 10, 0 ) );

工作示例

create table var_int( vi varchar(10) );
insert into var_int values( 6 ), ( 4 ), ( 7 );
select vi
     , @vc:=( vi * 1.9 ) as vc
     , cast( @vc as decimal( 10, 0 ) ) as int_val from var_int;

结果

+------+--------------------+---------+
| v    | vc                 | int_val |
+------+--------------------+---------+
| 6    | 11.399999999999999 |      11 |
| 4    |                7.6 |       8 |
| 7    | 13.299999999999999 |      13 |
+------+--------------------+---------+