Code Bye

mysql insert 转换问题

讨教个问题 本人向mysql数据库插入数据 后台保存
如: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 会直接帮你截断小数点后多余的。

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)

5

JAVA会自动进行这个转换。 可以在JAVA中进行转换,或直接拼接 sql 语句。

5

引用:

类型相同,直接写入就好了,不需要转换吧。
你getOutAmount() 是 DECIMAL(12,2)类型,那你getOutAmount()*-1还是DECIMAL(12,2)了
out_amount类型也为 DECIMAL(12,2), 可以直接 insert 或update的。
类型转换主要是在时间日期转字符串, 字符串转时间日期, 数字转字符串 等时候用的多,
在int,  float,  decimal, numeric类型之间是可以直接写入的,假如你不考虑精度问题, mysql 会直接帮你截断小数点后多余的。

赞成,会隐式转换


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql insert 转换问题