【发布时间】:2013-07-22 16:41:51
【问题描述】:
我通过以下方式计算比例假期:
Count(Distinct Case When Workday NOT IN ('Saturday', 'Sunday')
AND hours > '0' then workday END) * Holidays / 5
我想将该列中的每个值四舍五入到最接近的一半,并发现 SELECT ROUND(2.2 * 2,0) / 2 正在进行四舍五入工作。
现在我只是没有把它放在一起。据我所见, Select Round 表达式给了我一个标量,但我想让我的列中的每个值都被舍入。 Round(上面的表达式, * 2.0) / 2 不起作用(所有红色下划线)。
【问题讨论】:
-
将该表达式放入派生表(带有别名的子查询),给结果一个别名,然后对结果进行四舍五入。
-
这个顶级表达还能用吗?看起来括号结束在
CASE的WHEN...THEN部分的中间。这是某种扭曲的 SQL 版本的 Duff 设备吗? -
你是对的,括号没有被复制。编辑完成。谢谢。