私はdecimal
時間があって、に変換することができtime
ます。time
ただし、データ型の列を持つテーブルに変換された時間を挿入する必要があります
DECLARE @hours decimal(15,4)
SELECT @hours = 20.5 //20 Hrs and 30 mins
SELECT
RIGHT('00' + CONVERT(varchar(2), FLOOR(@hours)), 2) + ':' +
RIGHT('00' + CONVERT(varchar(2), FLOOR(((@hours - FLOOR(@hours)) * 60))), 2) + ':' +
RIGHT('00' + CONVERT(varchar(2), FLOOR(((@hours - FLOOR(@hours)) * 60) - FLOOR(((@hours - FLOOR(@hours)) * 60))) * 60), 2) AS Time
これは、値を挿入する必要がある一時テーブルです。
create table #timetest(timetest time)
insert into #timetest
SELECT
RIGHT('00' + CONVERT(varchar(2), FLOOR(@hours)), 2) + ':' +
RIGHT('00' + CONVERT(varchar(2), FLOOR(((@hours - FLOOR(@hours)) * 60))), 2) + ':' +
RIGHT('00' + CONVERT(varchar(2), FLOOR(((@hours - FLOOR(@hours)) * 60) - FLOOR(((@hours - FLOOR(@hours)) * 60))) * 60), 2)
次のエラーが表示されます。
文字列から日時を変換する際に変換に失敗しました。
私を助けてください