我有一个mysql查询
UPDATE table SET number=number*1.06
如何在sql命令中将数字解析为int,以便最终在表中的数字是整数?
答案 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 |
+------+--------------------+---------+