0

これが可能かどうかはわかりませんが、日付と時刻の列から時間と分だけを返すために、以下の select ステートメントを使用して勤務表システムから契約時間を返そうとしています。

ただし、23:59 までの値のみが正確に返されます。24 時間以上の契約時間を入力すると、正確には返されません。つまり、24 は 0 を返し、25 は 1 を返し、26 は 2 を返し、27 は 3 を返します。

スタッフのほとんどは 39 時間の契約時間を持っているため、勤務表システムに登録されている契約時間に 39:00 とキー入力しますが、15 と表示されますが、もちろん 39:00 と表示する必要があります。問題は、24 時間時計を使用した日付と時刻の書式設定に関係していると思いますが、勤務表システムに入力された値を返して 24 時間ルールを無視する方法がわかりません。

これに関するヘルプは非常に高く評価されます

ありがとうございました

ジェイソン

これは私が現在使用しているselectステートメントです

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

4

1 に答える 1

0

日付の最大値は 23:59:59 です。23:59:59 よりも長い値を記録する必要がある場合は、この値を数値列に入れ、コードで変換を行う必要があると思います。

于 2014-11-16T13:16:07.543 に答える