当前位置:Gxlcms > 数据库问题 > mysql 如果处理货币金钱类型

mysql 如果处理货币金钱类型

时间:2021-07-01 10:21:17 帮助过:21人阅读

select id="findSumMoney" resultType="java.lang.Double"> SELECT FORMAT(IFNULL(sum(money), 0) / 100, 2) FROM r_order WHERE uid = #{uid} AND state = 1 AND pay_type IN (1, 2,12) GROUP BY uid </select>

结果当金钱大于1000 ,用 format  转换, 自动变成 1,000.00

然后程序打出异常。不能转成此类型,原来这种转化 方法是大于1000, 自动加 逗号变成 string类型, double接收不了, 由于不想改代码,

最后这么解决的;用convert 函数:

    <select id="findSumMoney" resultType="java.lang.Double">
            SELECT
            convert(IFNULL(sum(money)/100, 0),DECIMAL(9,2))
        FROM
            r_order
        WHERE
            uid = #{uid}
        AND state = 1
        AND pay_type IN (1, 2,12)
        GROUP BY
            #{uid}
    </select>

解决 返回的是1000.00

 

mysql 如果处理货币金钱类型

标签:string类   程序   one   null   find   code   问题   异常   比较   

人气教程排行