如果员工未完成每月工作时间,该如何扣除工资?

时间:2019-03-19 13:17:30

标签: sql-server

员工的月薪为50000,每月的总工作时间为248,即每天8小时。如果员工的工作时间少于248小时,则应从其工资中扣除,如果他/她完成工作时间,则不应扣除。 我已经尝试过此查询,但是无论员工是否有完整的工作时间,它都在扣除金额。

SELECT 50000/248*248

我得到的输出是49848。也许有人可以在这里提供帮助。

2 个答案:

答案 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将返回准确值