Domanda

In sybase c'è qualche funzione integrata per convertire un valore di secondi in ore, minuti e secondi?

È stato utile?

Soluzione

Non so se esiste una tale funzione, ma se non lo è, le semplici formule sono:

 HH = floor(seconds / 3600)
 MM = floor(seconds / 60) % 60
 SS = seconds % 60

Altri suggerimenti

Se vuoi che i tuoi risultati siano formattati come ore: minuti: secondi

select convert(varchar(8), dateadd(SECOND, 65, '1970-01-01'), 108)

Passando 65 come il nostro numero di secondi si traduce in ...

00:01:05

Se il valore è limitato da 1 giorno, puoi utilizzare questo:

datepart(hour, dateadd(second, value, '1900-01-01'))
datepart(minute, dateadd(second, value, '1900-01-01'))
datepart(second, dateadd(second, value, '1900-01-01'))

Una dimensione 'secondi' comune è 'secondi dall'epoca unix' o 'time_t'. Se questo è ciò a cui ti riferisci, puoi fare qualcosa del genere

select dateadd(SECOND, 123456, '1970-01-01')

e avrai un valore datetime che può essere decostruito nelle varie parti tramite DATEPART

pjjH

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top