0

SQLデータベースにとして入力される列がありますが、varchar(10)HH:MM:SSのように見えます。列名はrunTimeです。

その列を秒に変換し、それとtotalItemsと呼ばれる別の列を使用して計算を行う必要があります。totalItemsはintデータ型です。1つの計算の例は次のとおりです。

totalItems/runTime

したがって、runTimeを10進数に変換してから計算に使用する必要があるように見えますが、最初に時間を秒に変換せずにそれを実行できない場合、またはエラーが発生します(「: ")。

では、どのようにして最初にsessionRunTimeを秒に変換し、次にそれらの秒を10進データ型に変換して、そこから計算を行うことができるでしょうか。1つの例は、59222totalItemsおよびrunTimeの04:15:17です。

これを処理するためのより良い方法があれば、私も確かにそれを受け入れます。ありがとう!

4

2 に答える 2

0

時間の部分が 24 と一致しないか、24 を超えない限りconvert、datetime に組み込み関数を使用して、時間の秒数を計算できます。

select DATEDIFF(second,'00:00:00',CONVERT(datetime,'04:15:17'))

15317

この結果で計算を行う必要があり、もう一方の値が である場合、必要に応じて計算を強制的に s として実行するためにint、いずれかの値を で乗算します。1.0float

于 2012-05-28T12:17:12.963 に答える
0

文字列を秒に変換するには、 datediffにキャストしdatetimeて使用できます。

select datediff(second, 0, cast('04:15:17' as datetime))

結果:

15317
于 2012-05-28T12:15:48.973 に答える