0

私はこのクエリを持っています: データベースからの 100 進数値を 60 進数 (分) に変換する必要があります

SELECT 
DISTINCT RD_MAT,
SUM(CASE WHEN RD_PD IN ('421') THEN RD_HORAS ELSE 0 END) AS 'ATRASOS',
SUM(CASE WHEN RD_PD IN ('420') THEN RD_HORAS ELSE 0 END) AS 'FALTAS',
SUM(CASE WHEN RD_PD IN ('084') THEN RD_HORAS ELSE 0 END) AS 'H.EXTRA 100%',
SUM(CASE WHEN RD_PD IN ('080') THEN RD_HORAS ELSE 0 END) AS 'H.EXTRA 50% ',
SUM(CASE WHEN RD_PD IN ('082') THEN RD_HORAS ELSE 0 END) AS 'H.EXTRA NOTURNA' 
FROM SRD020 
INNER JOIN SRV020 ON RD_PD = RV_COD
   AND SRV020.D_E_L_E_T_ <> '*'
   AND SRD020.D_E_L_E_T_ <> '*'
   AND RD_MAT = '000123'
WHERE LEFT(RD_DATPGT,6) = '201304'
GROUP BY RD_MAT

100 進数で H.EXTRA 100% のリターンは 16:53 です。しかし、数分で 16:49 です。

例: 100 進数で 40 + 40 = 80。60 進数で 40 + 40 = 1:20。この値が必要です。

4

2 に答える 2

0
Declare @h Varchar(5)='16:53'

Select Cast(DateAdd(SS,CAST(REPLACE(@h,':','.') as Float)*60,0) as Time)

>>> 00:16:31.0000000
于 2013-04-24T14:30:45.737 に答える