Discussione:
Differenza hh:mm tra giorni diversi
(troppo vecchio per rispondere)
e***@gmail.com
2015-06-03 13:45:34 UTC
Permalink
Buongiorno,
ho i seguenti campi:
data1 | data2 (entrambi tipo datetime)
2015-06-03 14:15:00.000 | 2015-06-05 17:16:00.000

Vorrei calcolare la differenza di orario nel formato hh:mm però con la mia soluzione ottengo risultato testuale che l'utente finale avrebbe difficoltà ad interpretare (51:1)

select data1,data2,
convert(varchar(30), (datediff(mi, data1, data2) / 60))
+ ':' + convert(varchar(30), (datediff(mi, data1, data2) % 60))
FROM corsi

Si può ottenere un campo unico, tipo dato datetime, in hh:mm? Questi li dovrei infatti esportare in .xlsx

Grazie per l'aiuto!
Mara
Tobia
2015-06-03 18:59:20 UTC
Permalink
<<Si può ottenere un campo unico, tipo dato datetime, in hh:mm? Questi li
dovrei infatti esportare in .xlsx



con il codice seguente otterresti il formato : 51:01:00


DECLARE @START_DATE DATETIME
DECLARE @END_DATE DATETIME-- Set the timeframe variables
SET @START_DATE = '2015-03-06 14:15:00'
SET @END_DATE = '2015-05-06 17:16:00'-- Use datediff to show the
results in the
-- HH:MM:SS format
SELECT CONVERT(varchar(6), DATEDIFF(second, @START_DATE, @END_DATE)/3600)
+ ':'
+ RIGHT('0' + CONVERT(varchar(2), (DATEDIFF(second, @START_DATE, @END_DATE)
% 3600) / 60), 2)
+ ':'
+ RIGHT('0' + CONVERT(varchar(2), DATEDIFF(second, @START_DATE, @END_DATE) %
60), 2) AS 'HH:MM:SS'
Tobia
2015-06-03 19:03:35 UTC
Permalink
<<Si può ottenere un campo unico, tipo dato datetime, in hh:mm?

se vuoi proprio il risultato come tipo datetime, prova questo:

DECLARE @date1 DATETIME
SET @date1 = '2015-03-06 14:15:00'
DECLARE @date2 DATETIME
SET @date2 = '2015-05-06 17:16:00'

select
convert(datetime,
(
convert(varchar, abs(((datediff(second, @date1, @date2)/60)/60)%24) )
+ ':' +
convert(varchar, abs((datediff(second, @date1, @date2)/60)%60))
+ ':' +
convert(varchar, abs((datediff(second, @date1, @date2)%60)))
)
+
dateadd(day, abs(datediff(second, @date1, @date2)/60/60/24),
'01-01-1900 00:00:00')
)

Continua a leggere su narkive:
Loading...