最近在报表显示中遇到一个小问题,要求如下:
A字段除以B字段,如果不能整除需要保留4位小数,否则不需要保留小数。举例如下:
情况1:A = 12 , B = 5 结果 = 12 / 5 = 2.4000
情况2: A = 12, B = 3 结果 = 12 / 3 = 4
更具要求我初步的想法是:通过取模来判断是否保留小数。 T-SQL如下:
1 DECLARE @a INT 2 DECLARE @b INT 3 DECLARE @c INT 4 DECLARE @d INT 5 SET @a = 12 6 SET @b = 5 7 SET @c = 12 8 SET @d = 3 9 10 SELECT CASE WHEN @a % @b = 0 THEN @a / @b 11 ELSE CAST(@a * 1.0 / @b AS DECIMAL(10,4)) END '12 / 5', 12 CASE WHEN @c % @d = 0 THEN @c / @d 13 ELSE CAST(@c * 1.0 / @d AS DECIMAL(10,4)) END '12 / 3' 14