Convertir un valor en hora.

30/12/2003 - 23:29 por Magno | Informe spam
Saludos.

Por favor si pueden ayudarme, tengo un campo de tipo char
que guarda un tiempo en formato 00:00:00, como hago para
convertirlo en hora y poder sacar el promedio entre varias
horas, por ejemplo:

tiempo1: 00:02:50
tiempo2: 00:08:10
tiempo3: 00:03:15

Como hago para convertir ese formato en tiempo y calcular
el promedio.

Gracias por la ayuda que puedan suministrarme.

Magno

Preguntas similare

Leer las respuestas

#6 Maximiliano Damian Accotto
02/01/2004 - 17:36 | Informe spam
Liliana,

que pasaria aqui con la performance? imaginate que tu tabla tiene muchos
registros de verdad, creo que la performance se veria degradada bastante
aqui no?

Yo comente de convertir a formato numero porque tenemos un sistema de
control de temperaturas para hornos que lo hace asi y funciona muy optimo de
verdad.

En un solo dia se pueden generar mas de 1 millon de registros imaginate.

Salu2

Maximiliano Damian Accotto


"Liliana Sorrentino" escribió en el mensaje
news:%
Hola,
Hace un tiempo, Mario Cassanelli tenía un problema similar, y la solución
que encontró fue pasar sus tiempos a datetime de la siguiente manera:

CREATE TABLE #CONSUMO (
[CONSUMO] [char] (8) NULL
)

INSERT INTO #CONSUMO VALUES('00:04:59')
INSERT INTO #CONSUMO VALUES('00:06:26')
INSERT INTO #CONSUMO VALUES('00:08:24')
INSERT INTO #CONSUMO VALUES('00:00:13')
INSERT INTO #CONSUMO VALUES('00:01:33')
INSERT INTO #CONSUMO VALUES('00:00:55')

DECLARE @dtmSumaTiempos datetime

SELECT @dtmSumaTiempos = CONVERT(datetime, SUM(CONVERT(float,
(CONVERT(datetime, consumo)))))
FROM #CONSUMO

SELECT @dtmSumaTiempos

La solución la encontró buscando en las siguientes direcciones:
http://www.sqlmag.com/Forums/messag...hreadidu85
http://www.sqlmag.com/Articles/Index.cfm?ArticleID'592

Espero que te sea de ayuda.
Liliana.

"Magno" escribió en el mensaje
news:024001c3cf24$5e3bb750$
> Saludos.
>
> Por favor si pueden ayudarme, tengo un campo de tipo char
> que guarda un tiempo en formato 00:00:00, como hago para
> convertirlo en hora y poder sacar el promedio entre varias
> horas, por ejemplo:
>
> tiempo1: 00:02:50
> tiempo2: 00:08:10
> tiempo3: 00:03:15
>
> Como hago para convertir ese formato en tiempo y calcular
> el promedio.
>
> Gracias por la ayuda que puedan suministrarme.
>
> Magno


Respuesta Responder a este mensaje
#7 Liliana Sorrentino
02/01/2004 - 18:41 | Informe spam
Bueno, acabo de hacer un comparativo entre tu propuesta y la que hacía
mención, con un lote de 3000 filas de prueba, y no hay diferencia en los
tiempos ni costos ni lecturas físicas ni lógicas.
No puedo decirte con un millón, pero como ambas propuestas tienen que usar
funciones (CONVERT / SUBSTRING), no creo que haya mucha diferencia.
De todas maneras, a veces es interesante hacer propuestas para que quien
pregunta elija la más adecuada a sus necesidades.
Saludos Liliana.

"Maximiliano Damian Accotto" <maxi_accotto[arroba]speedy.com.ar.SACAME>
escribió en el mensaje news:
Liliana,

que pasaria aqui con la performance? imaginate que tu tabla tiene muchos
registros de verdad, creo que la performance se veria degradada bastante
aqui no?

Yo comente de convertir a formato numero porque tenemos un sistema de
control de temperaturas para hornos que lo hace asi y funciona muy optimo


de
verdad.

En un solo dia se pueden generar mas de 1 millon de registros imaginate.

Salu2

Maximiliano Damian Accotto


"Liliana Sorrentino" escribió en el


mensaje
news:%
> Hola,
> Hace un tiempo, Mario Cassanelli tenía un problema similar, y la


solución
> que encontró fue pasar sus tiempos a datetime de la siguiente manera:
>
> CREATE TABLE #CONSUMO (
> [CONSUMO] [char] (8) NULL
> )
>
> INSERT INTO #CONSUMO VALUES('00:04:59')
> INSERT INTO #CONSUMO VALUES('00:06:26')
> INSERT INTO #CONSUMO VALUES('00:08:24')
> INSERT INTO #CONSUMO VALUES('00:00:13')
> INSERT INTO #CONSUMO VALUES('00:01:33')
> INSERT INTO #CONSUMO VALUES('00:00:55')
>
> DECLARE @dtmSumaTiempos datetime
>
> SELECT @dtmSumaTiempos = CONVERT(datetime, SUM(CONVERT(float,
> (CONVERT(datetime, consumo)))))
> FROM #CONSUMO
>
> SELECT @dtmSumaTiempos
>
> La solución la encontró buscando en las siguientes direcciones:
> http://www.sqlmag.com/Forums/messag...hreadidu85
> http://www.sqlmag.com/Articles/Index.cfm?ArticleID'592
>
> Espero que te sea de ayuda.
> Liliana.
>
> "Magno" escribió en el mensaje
> news:024001c3cf24$5e3bb750$
> > Saludos.
> >
> > Por favor si pueden ayudarme, tengo un campo de tipo char
> > que guarda un tiempo en formato 00:00:00, como hago para
> > convertirlo en hora y poder sacar el promedio entre varias
> > horas, por ejemplo:
> >
> > tiempo1: 00:02:50
> > tiempo2: 00:08:10
> > tiempo3: 00:03:15
> >
> > Como hago para convertir ese formato en tiempo y calcular
> > el promedio.
> >
> > Gracias por la ayuda que puedan suministrarme.
> >
> > Magno
>
>


Respuesta Responder a este mensaje
#8 Maximiliano Damian Accotto
02/01/2004 - 18:48 | Informe spam
;-) gracias Liliana, es como dice el dicho:

Para llegar a la meta puede haber mas de un camino y todos nos conducen,
unos mas rapidos otros mas lentos etc.

Siempre el aporte de ideas creo que es muy bueno de verdad no solo para que
el que pregunta elija sino para el resto tambien.

Ahora no se si me entendiste bien pero cuando yo decia de convertir hablaba
de tener ya el campo asi digamos tener el campo '01:35:00' y el campo 1,58
luego el AVG lo hago sobre el 1,58 y el resto, claro el resultado hay que
expresarlo al cliente de otra forma porque usar las fechas o horas en
formato numerico nos matara de verdad ;-)

Salu2 enormes

pd: como fueron esas vacaciones? te quedaste en Mardel?

Maximiliano Damian Accotto


"Liliana Sorrentino" escribió en el mensaje
news:
Bueno, acabo de hacer un comparativo entre tu propuesta y la que hacía
mención, con un lote de 3000 filas de prueba, y no hay diferencia en los
tiempos ni costos ni lecturas físicas ni lógicas.
No puedo decirte con un millón, pero como ambas propuestas tienen que usar
funciones (CONVERT / SUBSTRING), no creo que haya mucha diferencia.
De todas maneras, a veces es interesante hacer propuestas para que quien
pregunta elija la más adecuada a sus necesidades.
Saludos Liliana.

"Maximiliano Damian Accotto" <maxi_accotto[arroba]speedy.com.ar.SACAME>
escribió en el mensaje news:
> Liliana,
>
> que pasaria aqui con la performance? imaginate que tu tabla tiene muchos
> registros de verdad, creo que la performance se veria degradada bastante
> aqui no?
>
> Yo comente de convertir a formato numero porque tenemos un sistema de
> control de temperaturas para hornos que lo hace asi y funciona muy


optimo
de
> verdad.
>
> En un solo dia se pueden generar mas de 1 millon de registros imaginate.
>
> Salu2
>
> Maximiliano Damian Accotto
>
>
> "Liliana Sorrentino" escribió en el
mensaje
> news:%
> > Hola,
> > Hace un tiempo, Mario Cassanelli tenía un problema similar, y la
solución
> > que encontró fue pasar sus tiempos a datetime de la siguiente manera:
> >
> > CREATE TABLE #CONSUMO (
> > [CONSUMO] [char] (8) NULL
> > )
> >
> > INSERT INTO #CONSUMO VALUES('00:04:59')
> > INSERT INTO #CONSUMO VALUES('00:06:26')
> > INSERT INTO #CONSUMO VALUES('00:08:24')
> > INSERT INTO #CONSUMO VALUES('00:00:13')
> > INSERT INTO #CONSUMO VALUES('00:01:33')
> > INSERT INTO #CONSUMO VALUES('00:00:55')
> >
> > DECLARE @dtmSumaTiempos datetime
> >
> > SELECT @dtmSumaTiempos = CONVERT(datetime, SUM(CONVERT(float,
> > (CONVERT(datetime, consumo)))))
> > FROM #CONSUMO
> >
> > SELECT @dtmSumaTiempos
> >
> > La solución la encontró buscando en las siguientes direcciones:
> > http://www.sqlmag.com/Forums/messag...hreadidu85
> > http://www.sqlmag.com/Articles/Index.cfm?ArticleID'592
> >
> > Espero que te sea de ayuda.
> > Liliana.
> >
> > "Magno" escribió en el mensaje
> > news:024001c3cf24$5e3bb750$
> > > Saludos.
> > >
> > > Por favor si pueden ayudarme, tengo un campo de tipo char
> > > que guarda un tiempo en formato 00:00:00, como hago para
> > > convertirlo en hora y poder sacar el promedio entre varias
> > > horas, por ejemplo:
> > >
> > > tiempo1: 00:02:50
> > > tiempo2: 00:08:10
> > > tiempo3: 00:03:15
> > >
> > > Como hago para convertir ese formato en tiempo y calcular
> > > el promedio.
> > >
> > > Gracias por la ayuda que puedan suministrarme.
> > >
> > > Magno
> >
> >
>
>


Respuesta Responder a este mensaje
#9 Liliana Sorrentino
02/01/2004 - 19:29 | Informe spam
Ahora sí, estamos de acuerdo.
Saludos.. Liliana.

PD: unos días acá, otros en Buenos Aires, otros en Junín, descanso, solo
descanso

"Maximiliano Damian Accotto" <maxi_accotto[arroba]speedy.com.ar.SACAME>
escribió en el mensaje news:
;-) gracias Liliana, es como dice el dicho:

Para llegar a la meta puede haber mas de un camino y todos nos conducen,
unos mas rapidos otros mas lentos etc.

Siempre el aporte de ideas creo que es muy bueno de verdad no solo para


que
el que pregunta elija sino para el resto tambien.

Ahora no se si me entendiste bien pero cuando yo decia de convertir


hablaba
de tener ya el campo asi digamos tener el campo '01:35:00' y el campo 1,58
luego el AVG lo hago sobre el 1,58 y el resto, claro el resultado hay que
expresarlo al cliente de otra forma porque usar las fechas o horas en
formato numerico nos matara de verdad ;-)

Salu2 enormes

pd: como fueron esas vacaciones? te quedaste en Mardel?

Maximiliano Damian Accotto


"Liliana Sorrentino" escribió en el


mensaje
news:
> Bueno, acabo de hacer un comparativo entre tu propuesta y la que hacía
> mención, con un lote de 3000 filas de prueba, y no hay diferencia en los
> tiempos ni costos ni lecturas físicas ni lógicas.
> No puedo decirte con un millón, pero como ambas propuestas tienen que


usar
> funciones (CONVERT / SUBSTRING), no creo que haya mucha diferencia.
> De todas maneras, a veces es interesante hacer propuestas para que quien
> pregunta elija la más adecuada a sus necesidades.
> Saludos Liliana.
>
> "Maximiliano Damian Accotto" <maxi_accotto[arroba]speedy.com.ar.SACAME>
> escribió en el mensaje news:
> > Liliana,
> >
> > que pasaria aqui con la performance? imaginate que tu tabla tiene


muchos
> > registros de verdad, creo que la performance se veria degradada


bastante
> > aqui no?
> >
> > Yo comente de convertir a formato numero porque tenemos un sistema de
> > control de temperaturas para hornos que lo hace asi y funciona muy
optimo
> de
> > verdad.
> >
> > En un solo dia se pueden generar mas de 1 millon de registros


imaginate.
> >
> > Salu2
> >
> > Maximiliano Damian Accotto
> >
> >
> > "Liliana Sorrentino" escribió en el
> mensaje
> > news:%
> > > Hola,
> > > Hace un tiempo, Mario Cassanelli tenía un problema similar, y la
> solución
> > > que encontró fue pasar sus tiempos a datetime de la siguiente


manera:
> > >
> > > CREATE TABLE #CONSUMO (
> > > [CONSUMO] [char] (8) NULL
> > > )
> > >
> > > INSERT INTO #CONSUMO VALUES('00:04:59')
> > > INSERT INTO #CONSUMO VALUES('00:06:26')
> > > INSERT INTO #CONSUMO VALUES('00:08:24')
> > > INSERT INTO #CONSUMO VALUES('00:00:13')
> > > INSERT INTO #CONSUMO VALUES('00:01:33')
> > > INSERT INTO #CONSUMO VALUES('00:00:55')
> > >
> > > DECLARE @dtmSumaTiempos datetime
> > >
> > > SELECT @dtmSumaTiempos = CONVERT(datetime, SUM(CONVERT(float,
> > > (CONVERT(datetime, consumo)))))
> > > FROM #CONSUMO
> > >
> > > SELECT @dtmSumaTiempos
> > >
> > > La solución la encontró buscando en las siguientes direcciones:
> > > http://www.sqlmag.com/Forums/messag...hreadidu85
> > > http://www.sqlmag.com/Articles/Index.cfm?ArticleID'592
> > >
> > > Espero que te sea de ayuda.
> > > Liliana.
> > >
> > > "Magno" escribió en el mensaje
> > > news:024001c3cf24$5e3bb750$
> > > > Saludos.
> > > >
> > > > Por favor si pueden ayudarme, tengo un campo de tipo char
> > > > que guarda un tiempo en formato 00:00:00, como hago para
> > > > convertirlo en hora y poder sacar el promedio entre varias
> > > > horas, por ejemplo:
> > > >
> > > > tiempo1: 00:02:50
> > > > tiempo2: 00:08:10
> > > > tiempo3: 00:03:15
> > > >
> > > > Como hago para convertir ese formato en tiempo y calcular
> > > > el promedio.
> > > >
> > > > Gracias por la ayuda que puedan suministrarme.
> > > >
> > > > Magno
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#10 Xavier Castanyer
05/01/2004 - 13:23 | Informe spam
Con esta sentencia pordrás obtener la media en formato fechar de diferentes
valores existentes en una tabla cuyo campo h es de tipo texto.

select convert(datetime ,avg(convert(float,(convert(datetime,h ))))) from m

XCO.

"Magno" escribió en el mensaje
news:024001c3cf24$5e3bb750$
Saludos.

Por favor si pueden ayudarme, tengo un campo de tipo char
que guarda un tiempo en formato 00:00:00, como hago para
convertirlo en hora y poder sacar el promedio entre varias
horas, por ejemplo:

tiempo1: 00:02:50
tiempo2: 00:08:10
tiempo3: 00:03:15

Como hago para convertir ese formato en tiempo y calcular
el promedio.

Gracias por la ayuda que puedan suministrarme.

Magno
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida