我有一个这样的数据库表:
wagetable
name lowhours highhours wage
Default 0 40 10
Default 40 9999 15
Brian 0 40 15
Brian 40 50 20
Brian 50 9999 22
Chad 0 40 13
Chad 40 9999 17
如果“Brian”工作了 43.5151587 小时,我想让它弄清楚他的收入是 (40*15)+(3.5151587*20) = 670.303174。
这是一个 SQLite 数据库,所以我知道我会使用:
SELECT wage FROM wagetable WHERE name LIKE 'Brian' AND 'HourNum' BETWEEN lowhours AND highhours;
结合地板和%......我只是没有将逻辑放在我的脑海中。
请注意接受 C# 和 PHP 的答案,因为我可以将逻辑转换为我需要的。我正在寻找伪代码,但会接受抽出的答案
编辑:请注意......工作时间永远不会是一个精确的整数,为什么我让重叠发生。
编辑2:
我想计算一个员工的总工作时间(例如:43.5151587),然后意识到前 40 个小时,他的标准工资为每小时 15 美元。所以 (40*15)...然后他加班 3.5151587 小时,每小时 20 美元。所以 (40*15) 添加到它 (3.5151587*20)...总收入是 670.303174