讨教个问题 本人向mysql数据库插入数据 后台保存
如:houses.setGoodsAmount(ood.getOutAmount()*-1);
getOutAmount()是 out_amount decimal(12,2),类型
讨教该怎么样转换后写入呢? 在线等 请教 谢高手!
如:houses.setGoodsAmount(ood.getOutAmount()*-1);
getOutAmount()是 out_amount decimal(12,2),类型
讨教该怎么样转换后写入呢? 在线等 请教 谢高手!
解决方案
16
类型相同,直接写入就好了,不需要转换吧。
你getOutAmount() 是 DECIMAL(12,2)类型,那你getOutAmount()*-1还是DECIMAL(12,2)了
out_amount类型也为 DECIMAL(12,2), 可以直接 insert 或update的。
类型转换主要是在时间日期转字符串, 字符串转时间日期, 数字转字符串 等时候用的多,
在int, float, decimal, numeric类型之间是可以直接写入的,假如你不考虑精度问题, mysql 会直接帮你截断小数点后多余的。
你getOutAmount() 是 DECIMAL(12,2)类型,那你getOutAmount()*-1还是DECIMAL(12,2)了
out_amount类型也为 DECIMAL(12,2), 可以直接 insert 或update的。
类型转换主要是在时间日期转字符串, 字符串转时间日期, 数字转字符串 等时候用的多,
在int, float, decimal, numeric类型之间是可以直接写入的,假如你不考虑精度问题, mysql 会直接帮你截断小数点后多余的。
10
或直接用mysql的函数转化一下:
mysql> select cast(1 as decimal(12,2));
+–+
| cast(1 as decimal(12,2)) |
+–+
| 1.00 |
+–+
1 row in set (0.04 sec)
mysql> select cast(1 as decimal(12,2));
+–+
| cast(1 as decimal(12,2)) |
+–+
| 1.00 |
+–+
1 row in set (0.04 sec)
5
JAVA会自动进行这个转换。 可以在JAVA中进行转换,或直接拼接 sql 语句。
5
赞成,会隐式转换