10 進数の時間があり、時間に変換できません。
DECLARE @hours decimal(5,3)
SELECT @hours = 20.30 //20 Hrs and 30 mins
以下の形式で出力が必要です
Hours 20.5 AS Time (data type)
以下は私のコードです
select cast(hours /24 as datetime)
このコードの出力は 20.18 時間です。ただし、20.5時間が必要です
10 進数の時間があり、時間に変換できません。
DECLARE @hours decimal(5,3)
SELECT @hours = 20.30 //20 Hrs and 30 mins
以下の形式で出力が必要です
Hours 20.5 AS Time (data type)
以下は私のコードです
select cast(hours /24 as datetime)
このコードの出力は 20.18 時間です。ただし、20.5時間が必要です
小数部分は実際には時間の小数部分を表していないため、切り捨てて個別に処理する必要があります。
SQL Server 2012 の場合:
select TIMEFROMPARTS ( floor(hours), 100*(hours - floor(hours)), 0, 0, 0 )
SQL 2012 より前:
select cast(cast(floor(hours) as char(2))+':'+cast(floor(100*(hours - floor(hours))) as char(2)) as time)