3

私はデータ クエリに取り組んでおり、フィールドの 1 つは時間形式が「33600」で、データ型 (INT) です。HH:MM:SS の正しい時刻形式が表示されるようにフィールドを変換する方法を知る必要があります。私が使用した現在のクエリでは、日付/時刻が MM/DD/YYYY:00:00:00 として返されます。

例: Convert(datetime,Cast(Ap.aptApptTime as varchar(6),3)as Appt_time

これにより、正しい予定日が生成されますが、時間は 00:00:00 になります。「33600」のような値に基づいて、正しい時間を表示する必要があります。

これに関するヘルプは大歓迎です。

4

2 に答える 2

2

33600 がミリ秒のカウントである場合、これは機能するはずです。

DECLARE @Var TIME = '00:00'
SELECT DATEADD(MS, 33600, @Var)

秒の場合。

DECLARE @Var TIME = '00:00'
SELECT DATEADD(S, 33600, @Var)

等...

于 2013-01-10T15:51:00.333 に答える
0

33600 が秒数であると仮定すると、試すこともできます

Cast(Cast((33600/86400.0) as smalldatetime) as time)

86400.01 日の合計秒数はどこにありますか。".0" を忘れないでください。そうしないと、SQL はそれを整数として扱い、結果は常にゼロまたは真夜中になります。数値から時刻フィールドに直接キャストすることもできないため、中間の smalldatetime フィールドを使用する必要があります。

于 2013-01-10T16:07:27.893 に答える