0

我不知道这是否可行,但我正在尝试使用下面的 select 语句从我们的 rota 系统中返回约定的小时数,以仅返回日期和时间列中的小时数和分钟数。

但是,它仅在 23:59 之前准确返回值,如果我键入 24 或更多的合同时间,它不会准确返回,即 24 将返回 0,25 返回 1,26 返回 2,27 返回 3,依此类推。

我们大多数员工的合同时间为 39,因此在我们的轮班系统中提交的合同时间中,我键入 39:00,但它显示为 15,但我当然需要它显示为 39:00。我猜这个问题与使用 24 小时制的日期和时间格式有关,但我不知道如何让它返回输入到 rota 系统中的值并忽略 24 小时规则。

对此的任何帮助将不胜感激

谢谢

杰森

这是我目前使用的选择语句

COALESCE(DATEPART(hour, tblCarerContract.ContractHours), 0) + (COALESCE(DATEPART(minute, tblCarerContract.ContractHours), 0) / 60.0) 作为 ContractHours

4

1 回答 1

0

日期的最大值是 23:59:59。如果您需要在 23:59:59 之后记录值,我认为您必须将此值放在数字列中,并且必须在代码中进行转换。

于 2014-11-16T13:16:07.543 回答