【问题标题】:MySQL remove zeros from decimal part if the number is whole如果数字是整数,MySQL 从小数部分删除零
【发布时间】:2021-12-01 21:50:48
【问题描述】:

我有一个销售表,其中price 列为decimal(8, 2),我正在运行下面的查询以获取总价

select sum(case when status = 1 then price * quantity when status = 2 then price * quantity * -1 else 0 end) as total from sales;

它运行良好,但我的结果通常是整数,所以我总是以尾随零结束。如果没有小数部分,最好只返回整数

【问题讨论】:

  • ... CAST(SUM(...) AS UNSIGNED) ...

标签: mysql sql laravel


【解决方案1】:

就像akina在他的评论中说的...

你可以cast求和结果为UNSIGNED INTEGER

select 
CAST(sum(case when status = 1 then price * quantity when status = 2 then price * quantity * -1 else 0 end) AS UNSIGNED)
 as total from sales;

【讨论】:

  • 工作。谢谢老哥
猜你喜欢
  • 1970-01-01
  • 2016-03-15
  • 2011-11-30
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 2017-07-10
  • 2011-12-20
相关资源
最近更新 更多