mysql insert 转换问题

tyhdxhl 2015-10-14 11:18:38
请教个问题 我向mysql数据库插入数据 后台保存
如:houses.setGoodsAmount(ood.getOutAmount()*-1);
getOutAmount()是 out_amount decimal(12,2),类型
请教该如何转换后写入呢? 在线等 求教 谢大神!

...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
道玄希言 2015-10-14
  • 打赏
  • 举报
回复
类型相同,直接写入就好了,不需要转换吧。

你getOutAmount() 是 DECIMAL(12,2)类型,那你getOutAmount()*-1还是DECIMAL(12,2)了
out_amount类型也为 DECIMAL(12,2), 可以直接 insert 或者update的。

类型转换主要是在时间日期转字符串, 字符串转时间日期, 数字转字符串 等时候用的多,

在int, float, decimal, numeric类型之间是可以直接写入的,如果你不考虑精度问题, mysql 会直接帮你截断小数点后多余的。
rick-he 2015-10-14
  • 打赏
  • 举报
回复
引用 1 楼 yangb0803 的回复:
类型相同,直接写入就好了,不需要转换吧。 你getOutAmount() 是 DECIMAL(12,2)类型,那你getOutAmount()*-1还是DECIMAL(12,2)了 out_amount类型也为 DECIMAL(12,2), 可以直接 insert 或者update的。 类型转换主要是在时间日期转字符串, 字符串转时间日期, 数字转字符串 等时候用的多, 在int, float, decimal, numeric类型之间是可以直接写入的,如果你不考虑精度问题, mysql 会直接帮你截断小数点后多余的。
赞成,会隐式转换
ACMAIN_CHM 2015-10-14
  • 打赏
  • 举报
回复
JAVA会自动进行这个转换。 可以在JAVA中进行转换,或者直接拼接 sql 语句。
LongRui888 2015-10-14
  • 打赏
  • 举报
回复
或者直接用mysql的函数转化一下: mysql> select cast(1 as decimal(12,2)); +--------------------------+ | cast(1 as decimal(12,2)) | +--------------------------+ | 1.00 | +--------------------------+ 1 row in set (0.04 sec)
LongRui888 2015-10-14
  • 打赏
  • 举报
回复
直接写入会报错吗?

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧