mysql类型为varchar double类型字符串求和多出多个小数

-- 错误
SELECT
    SUM(price)
FROM
    m_user
    
-- 正确    
SELECT TRUNCATE
    ( SUM( u.price ), 2 ) 
FROM
    m_user u;

-- 正确    
SELECT 
    SUM(TRUNCATE(  u.price , 2 ) )   
FROM
    m_user u;

 

-- 正确     但是和以上误差0.01
SELECT
    sum(cast(price as decimal(18,2)))
FROM
    m_user

 

posted @ 2018-11-21 15:12  我风依旧  阅读(4023)  评论(0编辑  收藏  举报