Cómo puedo calcular el tiempo transcurrido entre dos fechas ...

03/03/2008 - 17:42 por Jom | Informe spam
... en función de un horario con intervalos.

Es decir, cuanto tiempo ha transcurrido entre el 12/11/2007 12:30 y el
25/11/2007 17:16 teniendo sólo en cuenta sólo de Lunes a Viernes y las horas
comprendidas entre las 08:00 y las 14:00; y las comprendidas entre las 15:30
y las 19:00.

Evidentemente programando un cursor y mucho código se puede, pero el
rendimiento es muy malo y pensé que quizás existe alguna función desarrollada
que todo el mundo conoce menos yo !!!

Un saludo y gracias de antemano.
Jom.

Preguntas similare

Leer las respuestas

#1 Luis Tarzia
03/03/2008 - 19:26 | Informe spam
Te creas una funcion propia en donde le pasas el desde y el hasta y ahi
haces un loop

while @fechadesde <= @ fechahasta
begin
tomas el tipo de dia con datepart(wk) y dependiendo de si es lunes a viernes
entras al if
y ahi tomas el datediff entre las 14 y las 8 y entre las 19 y 15:30
considerando que la fecha hasta no se escape de esas horas,en ese caso tomas
la hora de la fecha hasta
"Jom" escribió en el mensaje
news:
... en función de un horario con intervalos.

Es decir, cuanto tiempo ha transcurrido entre el 12/11/2007 12:30 y el
25/11/2007 17:16 teniendo sólo en cuenta sólo de Lunes a Viernes y las


horas
comprendidas entre las 08:00 y las 14:00; y las comprendidas entre las


15:30
y las 19:00.

Evidentemente programando un cursor y mucho código se puede, pero el
rendimiento es muy malo y pensé que quizás existe alguna función


desarrollada
que todo el mundo conoce menos yo !!!

Un saludo y gracias de antemano.
Jom.
Respuesta Responder a este mensaje
#2 Maxi Accotto
04/03/2008 - 02:35 | Informe spam
Hola, no hay una funcion directa con esa regla de negocio que usted esta
necesitando.

Debera entonces crear una funcion definida del usuario (CREATE FUNCTION) que
haga ese calculo


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Jom" escribió en el mensaje de
noticias:
... en función de un horario con intervalos.

Es decir, cuanto tiempo ha transcurrido entre el 12/11/2007 12:30 y el
25/11/2007 17:16 teniendo sólo en cuenta sólo de Lunes a Viernes y las
horas
comprendidas entre las 08:00 y las 14:00; y las comprendidas entre las
15:30
y las 19:00.

Evidentemente programando un cursor y mucho código se puede, pero el
rendimiento es muy malo y pensé que quizás existe alguna función
desarrollada
que todo el mundo conoce menos yo !!!

Un saludo y gracias de antemano.
Jom.
Respuesta Responder a este mensaje
#3 Luis Mata
04/03/2008 - 23:19 | Informe spam
datediff()

"Jom" escribió en el mensaje
news:
... en función de un horario con intervalos.

Es decir, cuanto tiempo ha transcurrido entre el 12/11/2007 12:30 y el
25/11/2007 17:16 teniendo sólo en cuenta sólo de Lunes a Viernes y las
horas
comprendidas entre las 08:00 y las 14:00; y las comprendidas entre las
15:30
y las 19:00.

Evidentemente programando un cursor y mucho código se puede, pero el
rendimiento es muy malo y pensé que quizás existe alguna función
desarrollada
que todo el mundo conoce menos yo !!!

Un saludo y gracias de antemano.
Jom.
Respuesta Responder a este mensaje
#4 Luis Tarzia
05/03/2008 - 01:44 | Informe spam
Sola no le va a dar el resultado,el necesita filtrar sabados y domingos y
determinadas horas
"Luis Mata" escribió en el mensaje
news:#N#
datediff()

"Jom" escribió en el mensaje
news:
> ... en función de un horario con intervalos.
>
> Es decir, cuanto tiempo ha transcurrido entre el 12/11/2007 12:30 y el
> 25/11/2007 17:16 teniendo sólo en cuenta sólo de Lunes a Viernes y las
> horas
> comprendidas entre las 08:00 y las 14:00; y las comprendidas entre las
> 15:30
> y las 19:00.
>
> Evidentemente programando un cursor y mucho código se puede, pero el
> rendimiento es muy malo y pensé que quizás existe alguna función
> desarrollada
> que todo el mundo conoce menos yo !!!
>
> Un saludo y gracias de antemano.
> Jom.


Respuesta Responder a este mensaje
#5 Luis Mata
06/03/2008 - 16:21 | Informe spam
asi es pero no le va a salir con un solo datediff sino crear una funcion con
esto.

"Luis Tarzia" escribió en el mensaje
news:
Sola no le va a dar el resultado,el necesita filtrar sabados y domingos y
determinadas horas
"Luis Mata" escribió en el mensaje
news:#N#
datediff()

"Jom" escribió en el mensaje
news:
> ... en función de un horario con intervalos.
>
> Es decir, cuanto tiempo ha transcurrido entre el 12/11/2007 12:30 y el
> 25/11/2007 17:16 teniendo sólo en cuenta sólo de Lunes a Viernes y las
> horas
> comprendidas entre las 08:00 y las 14:00; y las comprendidas entre las
> 15:30
> y las 19:00.
>
> Evidentemente programando un cursor y mucho código se puede, pero el
> rendimiento es muy malo y pensé que quizás existe alguna función
> desarrollada
> que todo el mundo conoce menos yo !!!
>
> Un saludo y gracias de antemano.
> Jom.






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