MySQL4 e Operazioni con DateTime

mercoledì 29 dicembre 2004 - 13.51

LeonDom Profilo | Senior Member

Ciao a tutti, Vi pongo un quesito:

Importo delle date e degli orari in una tabella come campi date e time.

Ho la necessità di crearmi una colonna calcolata che chiamerò DURATA in cui dovrebbe calcolarmi la differenza degli orari.

SELECT *,(ora_2-ora_1) AS Durata FROM `tabtest` WHERE ora_1 <> '00:00:00'

Mi restituisce un num intero Ad Esempio:

15:12:01 - 14:49:37 = 6264
15:58:08 - 15:57:17 = 91

Oppure se inserisco il risultato direttamente in tabella in un campo durata(TIME) con una Update:

UPDATE tabtest
SET durata = (ora_2-ora_1)
WHERE ora_1 <> '00:00:00'

mi restituisce dei Warning e alcuni calcoli sembrerebbe che li facesse correttamente altri invece no Vi metto degli esempi del campo DURATA:

07:52:15 - 07:49:42 = 00:00:00 (questo è il risultato errato)
08:35:31 - 08:35:27 = 00:00:04 (questo sembrerebbe esatto)

Qualche idea o consiglio?

Grazie a tutti,
LeonDom

LeonDom Profilo | Senior Member

Nessuno sa darmi info?

LeonDom

LeonDom Profilo | Senior Member

Risoluzione al problema...

per chiunque fosse interessato alla risoluzione del problema dei campi Time è la seguente: utilizzavo la versione 4.0.21 ed ho dovuto installare la 4.1.8, che implementa soluzioni a bug con l'ausilio delle funzioni tipo TimeDiff(par_1,par_2). Quindi avendo due orari è possibile fare la differenza e ricevere il giusto risultato.

Es:
10:01:01 e 10:00:00

risultato 00:01:01
SELECT TimeDiff(ora_1, ora_2) as Durata

Ed il gioco è fatto.
La versione 4.1.8 di MySQL , comporta anche l'utilizzo del nuovo Connector 1.0.3 .NET rilasciato dalla MySQL in versione beta. Infatti dopo averla installata non ho potuto più usare MySQLDriverCS.

Grazie a tutti,
LeonDom
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5