员工的月薪为50000
,每月的总工作时间为248
,即每天8
小时。如果员工的工作时间少于248
小时,则应从其工资中扣除,如果他/她完成工作时间,则不应扣除。
我已经尝试过此查询,但是无论员工是否有完整的工作时间,它都在扣除金额。
SELECT 50000/248*248
我得到的输出是49848
。也许有人可以在这里提供帮助。
答案 0 :(得分:3)
使用变量进行说明,您可以看到如何首先进行除法以获得小时费率,然后再乘以实际小时数。确保使用DECIMAL
,以免导致整数除法。
DECLARE @ActualHours decimal(5,2) = 248.00
SELECT CAST((50000/248.00) * @ActualHours as DECIMAL(7,2))
SET @ActualHours = 240
SELECT CAST((50000/248.00) * @ActualHours as DECIMAL(7,2))
答案 1 :(得分:2)
如果您想获得每小时的价格,可以进行部门划分,但是在这里,您需要将月薪乘以小时数百分比
SELECT 50000.00*248/248
将返回准确值