DateTime

27/10/2004 - 04:55 por Juan Carlos | Informe spam
Hola mi pregunta es la sgte:
tengo tres columnas de tipo datetime entrada, salida, total de horas, lo que
hago para saber el total de horas(durecion) es restar salida con entrada,
algo asi:
entrada 8:00:00 salida 18:30:00 el total seria 10:30:00 pero quiero que me
de un resultado en numeros INT o DECIMAL que deberia de ser 10.5 hrs envez
de 10:30:00 hrs como puedo hacer o como deberia de declarar los tipos de
datos en las columnas.Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
27/10/2004 - 09:43 | Informe spam
Echa un vistazo en los BOL a la información sobre DATEDIFF


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Juan Carlos" escribió en el mensaje
news:
Hola mi pregunta es la sgte:
tengo tres columnas de tipo datetime entrada, salida, total de horas, lo


que
hago para saber el total de horas(durecion) es restar salida con entrada,
algo asi:
entrada 8:00:00 salida 18:30:00 el total seria 10:30:00 pero quiero que me
de un resultado en numeros INT o DECIMAL que deberia de ser 10.5 hrs


envez
de 10:30:00 hrs como puedo hacer o como deberia de declarar los tipos de
datos en las columnas.Gracias
Respuesta Responder a este mensaje
#2 poker
27/10/2004 - 11:36 | Informe spam
Siendo un poco más concreto que nuestro amigo Carlos Sacristan, te aconsejo
que el campo total de horas lo declares como decimal en lugar de datetime, y
que con la función datediff le pongas un valor por defecto que sería algo
así como

datediff(hh, entrada, salida)

o si quieres decimales:

datediff(ss, entrada, salida) / 3600.0

De nada

"Juan Carlos" escribió en el mensaje
news:
Hola mi pregunta es la sgte:
tengo tres columnas de tipo datetime entrada, salida, total de horas, lo


que
hago para saber el total de horas(durecion) es restar salida con entrada,
algo asi:
entrada 8:00:00 salida 18:30:00 el total seria 10:30:00 pero quiero que me
de un resultado en numeros INT o DECIMAL que deberia de ser 10.5 hrs


envez
de 10:30:00 hrs como puedo hacer o como deberia de declarar los tipos de
datos en las columnas.Gracias
Respuesta Responder a este mensaje
#3 qwalgrande
27/10/2004 - 11:37 | Informe spam
Hola.

select cast(cast(cast('20041027 18:30:00' as datetime) - cast('20041027
8:00:00' as datetime) as float) * 24 as numeric(19,2))

En tu caso sería:

select cast(cast(HoraSalida - HoraEntrada as float) * 24 as numeric(19,2))
from ...

Espero que te sirva,

qwalgrande

"Juan Carlos" wrote:

Hola mi pregunta es la sgte:
tengo tres columnas de tipo datetime entrada, salida, total de horas, lo que
hago para saber el total de horas(durecion) es restar salida con entrada,
algo asi:
entrada 8:00:00 salida 18:30:00 el total seria 10:30:00 pero quiero que me
de un resultado en numeros INT o DECIMAL que deberia de ser 10.5 hrs envez
de 10:30:00 hrs como puedo hacer o como deberia de declarar los tipos de
datos en las columnas.Gracias
Respuesta Responder a este mensaje
#4 Miguel Egea
30/10/2004 - 18:36 | Informe spam
De cara al rendimiento, resta primero, y al resultado una vez restado que
será un datetime hazle las operaciones que necesites.


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Juan Carlos" escribió en el mensaje
news:
Hola mi pregunta es la sgte:
tengo tres columnas de tipo datetime entrada, salida, total de horas, lo
que
hago para saber el total de horas(durecion) es restar salida con entrada,
algo asi:
entrada 8:00:00 salida 18:30:00 el total seria 10:30:00 pero quiero que me
de un resultado en numeros INT o DECIMAL que deberia de ser 10.5 hrs
envez
de 10:30:00 hrs como puedo hacer o como deberia de declarar los tipos de
datos en las columnas.Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida