我有这个查询找到两个值的差异,虽然它返回一个圆形值,这正是我不想要的
查询:
SELECT
FORMAT(SUM(obq * Rate), 2) - FORMAT(SUM(cbq * Rate), 2) AS variance
FROM
budget_sheet
WHERE
project_name = 'Vineyard_Ngong_Villas'
AND phase = 'Phase_I'
AND house_no = '002';
结果:
第一部分返回:26,000.00
第二部分:42,700.00
差异:-16而不是-16,700.00
答案 0 :(得分:0)
您需要在差值上重新应用format
。
更改:
FORMAT( SUM( obq * Rate ), 2 )
- FORMAT( SUM( cbq * Rate ), 2 ) AS variance
致:
FORMAT( FORMAT( SUM( obq * Rate ), 2 )
- FORMAT( SUM( cbq * Rate ), 2 )
, 2 ) AS variance
示例 :
mysql> select
-> format(16,2) s,
-> format(2,2) t,
-> format(16,2) - format(2,2) d,
-> format( format(16,2) - format(2,2), 2 ) fd;
+-------+------+------+-------+
| s | t | d | fd |
+-------+------+------+-------+
| 16.00 | 2.00 | 14 | 14.00 |
+-------+------+------+-------+