zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    HDU 1525
    kmp模板
    hdu 4616 Game(树形DP)
    hdu 4619 Warm up 2(并查集活用)
    hdu 4614 Vases and Flowers(线段树加二分查找)
    Codeforces 400D Dima and Bacteria(并查集最短路)
    poj 2823 Sliding Window (单调队列)
    hdu 2196 Computer(树形dp)
    hdu 4604 Deque
    最短路径
  • 原文地址:https://www.cnblogs.com/FakerWang/p/xim.html
Copyright © 2011-2022 走看看