mysql的数据转换

在sql语句中完成对数字类型的数据转换成字符类型的数据。
像这次将读取出来的float类型的数据,在进行jsonObject.fromObject(object).toString();
这个方法,并没有将数据类型要保留的小数点后几位进行保留,就像100.00 这个数据,进过json数据转换后变成了100,不利于显示的效果。
同时,由于我是通过sql语句查询出来的一个list集合,那么逐一在java代码中修改的话是难实现且效率低的,因此考虑在sql中实现。

在mybatis中实现,CONVERT(q.quotediscountamount,CHAR(20))
------------------------------
SELECT s.taskcode,p.prvshotname,CONVERT(q.quotediscountamount,CHAR(12)) as quoteamount,q.inscomcode,s.taskstate from insbworkflowmain m
LEFT JOIN insbworkflowsub s ON m.instanceid = s.maininstanceid
LEFT JOIN insbquoteinfo q ON q.workflowinstanceid = s.instanceid
LEFT JOIN insbprovider p ON p.prvcode = q.inscomcode where m.instanceid= #{processInstanceId}
------------------------------
CONVERT(q.quotediscountamount,CHAR);这里也可以去掉长度的限制

同理将其他格式的也可转换
BINARY[(N)]

CHAR[(N)]

DATE

TIME

DATETIME 日期时间

DECIMAL 浮点数

SIGNED [INTEGER] 整数

UNSIGNED [INTEGER] 无符号整数
-----------------------------------------
DATE,TIME,DATETIME 三种时间的不同:
DATE:日期类型,MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,没有时间部分。
TIME:时间类型,表示一天中的时间,MySQL检索并且以"HH:MM:SS"格式显示TIME值。
DATETIME:日期时间类型,两者之和。

另外mysql中还有一种:
TIMESTAMP,列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。

---------------------------------------

DecimalFormat format = new DecimalFormat("#.00");
String sMoney = format.format(s);
System.out.println(sMoney);

 

转载于:https://www.cnblogs.com/FakerWang/p/xim.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值