Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Calculos con horas y minutos

Estas en el tema de Calculos con horas y minutos en el foro de SQL Server en Foros del Web. Hola, quisiera que me asesoren con un campo de una tabla con la que estoy trabajando de tipo DateTime. Como puedo obtener de dicho campo ...
  #1 (permalink)  
Antiguo 24/02/2010, 14:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Calculos con horas y minutos

Hola, quisiera que me asesoren con un campo de una tabla con la que estoy trabajando de tipo DateTime. Como puedo obtener de dicho campo solo las horas y minutos hh:mm y con ese resultado poder sumarle otra variable con el mismo formato:

hh:mm + hh:mm
Gracias.
  #2 (permalink)  
Antiguo 24/02/2010, 16:13
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Calculos con horas y minutos

Prueba con la función DATEADD.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 24/02/2010, 20:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Calculos con horas y minutos

Hola Julio:

Mira si lo que quieres es resolverlo dentro de una consulta o una funcion o un procedimiento almacenado dentro de la base de datos puedes usar los campos de fechas para hacer las sumas y al resultado darle el formato que desees... sería algo así:

begin

declare
@fecha datetime
, @fecha2 datetime
, @hora varchar(200)

set @fecha = getdate()
set @fecha2 = getdate() + 0.1


select @fecha as Fecha_1
, @fecha2 as Fecha_2
, convert(varchar,(@fecha2 - @fecha),108) as diferencia

end

Saludos
  #4 (permalink)  
Antiguo 25/02/2010, 10:24
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Calculos con horas y minutos

set @fecha2 = getdate() + 0.1

¿WHAT?, Y entonces para que se creo la funcion DATEADD??
  #5 (permalink)  
Antiguo 26/02/2010, 17:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Calculos con horas y minutos

Pero yo estoy trabajando con este formato hh:mm y los calculos que realizo son en base a ese formato. Entonces la pregunta seria como realizo calculos en base a ese formato. No se si me explico bien :( ojala que si.
  #6 (permalink)  
Antiguo 26/02/2010, 21:57
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Respuesta: Calculos con horas y minutos

Te complicas demasiado. Las fechas se pueden sumar directamente.
Lo que debes recordar, es que independientemente del formato con que la quieras representar, internamente son un número con una parte entera representando los días, y una parte fraccional representando las horas.
Por lo tanto, cuando guardes las horas en tu campo datetime haz un simple cast
Código:
CAST('00:30' AS DATETIME)
Obviamente lo que se guarde, tendrá la fecha 0, que es 1900-01-01. Pero eso NO DEBE importarte. Una cosa es la operación y representación internas, y otra cosa es el formato con el cual lo mostrarás. Por ejemplo 14:45 + 01:15 = 16:00...
Código:
SELECT CONVERT(CHAR(5), CAST('14:45' AS DATETIME)+CAST('01:15' AS DATETIME), 8)
 
Igual podrías usar la función DATEADD. Pero para ello primero debes averiguar la cantidad de minutos en 01:15 lo cual no es complicado tampoco.

Saludos.
  #7 (permalink)  
Antiguo 28/02/2010, 14:17
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Calculos con horas y minutos

Cita:
Iniciado por julio_c1186 Ver Mensaje
Hola, quisiera que me asesoren con un campo de una tabla con la que estoy trabajando de tipo DateTime. Como puedo obtener de dicho campo solo las horas y minutos hh:mm y con ese resultado poder sumarle otra variable con el mismo formato:

hh:mm + hh:mm
Gracias.
Hola
Primero a un valor en este caso fecha al sumarle le puedes sumar o adicionar(años, meses, dias, horas, segundos, milisegundos, microseg y hasta nanosegundo) asi q no te hagas lios comvirtiendo esos a un mismo formato
facil puedes usar la funcion dateADD conociendo bien sus 3 parametros.
resultado=dateadd( parte, numero , fecha)
Lo mas importate es saber los valores de PARTE (yy,mm,dd,hh,mi,ss,mi) y asi hay mas valores pero creo que con estos te sera facil llegar a tu cometido. Ah con el parametro NUMERO no solo incrementas sino tambien disminuyes si poner un valor negativo.

Código SQL:
Ver original
  1. UPDATE aniversarios SET fecha=dateadd(hh,2,fecha)
  2. UPDATE aniversarios SET fecha=dateadd(mi,71,fecha)
creo q esta facil entender q hacen estas sentencias

ahora como ver de una fecha solo la hora utiliza el convert y checa en particular el tercer parametro, solo en tu analizador de consultas pulsa F1 Y Digita CONVERT y obtendras la lista de opciones y veras cual te conviene mas para cada caso q se te presente en el futuro veras como utlkizar el separador de fecha con(/-.)y horas enm 24 o am/pm

Código SQL:
Ver original
  1. SELECT CONVERT(VARCHAR(10),getdate(),108)
  2. SELECT CONVERT(VARCHAR(50),getdate(),120)
  3. SELECT RIGHT(CONVERT(VARCHAR(19),getdate(),120),8)

www.bitxense.com.pe | Soluciones Informaticas S.A.C. - [email protected]
Cualquier duda soy Jhon Bautista Palomino aqui esta mi correo [email protected] Lima-Peru

Etiquetas: horas, minutos, calculo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:02.