0

24 時間を超える時間を格納する列を作成する必要があります。たとえば、、'25:00:00'など'129:23:12')。

datetimeその列は、間隔「時間」の間の計算を実行するために使用されます。

やってみた

SELECT  CAST((CAST(CAST(RIGHT('107:37', 6) as datetime) AS FLOAT))/(207.160) AS DATETIME)

それであれば

'23:59'正常に動作する代わりに以下'107:37'

'107:37'エラーを与える:

char データ型から datetime データ型への変換により、範囲外の datetime 値が発生しました。

4

1 に答える 1

2

値を日時データ型として格納するだけです。+、-、SUM、MIN、MAXなどの日時データ型で数学計算を実行できます。また、DateDiffとDateAddも使用できます。トリッキーなのは、値をHHHH:mm:ssとして表示することだけです。ただし、これは簡単に行うことができます。

DECLARE @datetime DATETIME
SET @datetime = 4.2
SELECT CAST((FLOOR(CAST(@datetime AS FLOAT)) * 24) + DatePart(Hour, @datetime) AS VARCHAR) + 
    ':' + CAST(DatePart(Minute, @datetime) AS VARCHAR)
    + ':' + CAST(DatePart(Second, @datetime) AS VARCHAR)
于 2012-04-24T10:34:35.587 に答える