我有这样的表
Percentage
0.00
0.00
10.10
0.90
0.00
我希望它像这样
Percentage
0
0
10.10
0.90
0
这是我的查询
SELECT discount_percentage - TRUNCATE(discount_percentage, 0), IF(discount_percentage - TRUNCATE(discount_percentage, 0) = 0.00, TRUNCATE(discount_percentage, 0), discount_percentage) AS percentage FROM `order` WHERE 1
我的结果是:
discount_percentage - TRUNCATE(discount_percentage, 0) percentage
0.00 0.00
0.00 0.00
0.99 10.99
0.00 0.00
我的precentage字段的类型为float
如果0.00表示我想要0,如果10.00表示10,10.99表示10.99。如果有人知道让我离开这个
答案 0 :(得分:0)
试试这个......我想这就是你要找的......
select
case when v regexp '(.)(\.00$)' then truncate(v,0) else v end as Percentage
from YourTable;
答案 1 :(得分:-1)
SELECT百分比,SUM(例如,百分比> = 0 THEN百分比ELSE 0 END)as discount_percentage FROM #test GROUP BY百分比
它为我工作,但有一件事你需要检查。最好将GROUP BY做一些其他列然后百分比(也许是id列?)