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

Ayuda formatear hora en campo DateTime

Estas en el tema de Ayuda formatear hora en campo DateTime en el foro de SQL Server en Foros del Web. Hola a todos Necesito una vez más su ayuda. Hace muy poco me han cambiado la BD de algunas aplicaciones desde MySql a Sql Server ...
  #1 (permalink)  
Antiguo 26/10/2010, 07:54
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 7 meses
Puntos: 2
Ayuda formatear hora en campo DateTime

Hola a todos

Necesito una vez más su ayuda. Hace muy poco me han cambiado la BD de algunas aplicaciones desde MySql a Sql Server 2008, lo que me tiene de cabeza adaptando la reporteria

El problema de hoy
Código SQL:
Ver original
  1. CONCAT(IF((HOUR(`Fecha_date2`) < 10),CONCAT('0',HOUR(`Fecha_date2`)),HOUR(`Fecha_date2`)),':',IF((MINUTE(`Fecha_date2`) < 29),'00','30'),':','00') AS `MEDIAHORA`,
  2.  
  3. CONCAT(IF(HOUR(log_0.fecha_date)<10,CONCAT('0',HOUR(log_0.fecha_date)) , HOUR(log_0.fecha_date)),':',
  4.    IF((FLOOR( MINUTE(log_0.fecha_date) / 15 )*15)=0, '00',FLOOR( MINUTE(log_0.fecha_date) / 15 )*15)) AS horacuartos,

En el codigo que les muestro, lograba mostrar la hora cada 15 o 30 minutos, desde una tabla que guardaba el valor de fecha hora de cada evento.

La Pregunta: ¿Como puedo lograr esto en Sql server??

Necesito mostrar la hora en intervalos de 15 o 30 minutos, obteniendo este dato de una campo datetime, que registra el horario de cada evento.

Desde ya muchas gracias
  #2 (permalink)  
Antiguo 26/10/2010, 11:08
 
Fecha de Ingreso: octubre-2010
Ubicación: Cordoba, Argentina
Mensajes: 40
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ayuda formatear hora en campo DateTime

a ver si esto te sirve
Código SQL:
Ver original
  1. DECLARE @fecha datetime
  2. SET @fecha = dateadd(HOUR,-5,GETDATE())
  3. SELECT MediaHora = RIGHT('00' + rtrim(CONVERT(CHAR,DATEPART(HOUR,(@fecha)))),2) + ':' + (CASE WHEN DATEPART(MINUTE,(@fecha))<29 THEN '00' ELSE '30' END)
  4. SELECT horacuartos = RIGHT('00' + rtrim(CONVERT(CHAR,DATEPART(HOUR,(@fecha)))),2) + ':' +RIGHT('00' +rtrim(CONVERT(CHAR,DATEPART(MINUTE,(@fecha)))),2)+':'+
  5. RIGHT('00' + rtrim(CONVERT(CHAR,FLOOR(DATEPART(MINUTE,@fecha)/15)*15)),2)

Saludos
  #3 (permalink)  
Antiguo 26/10/2010, 11:35
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Ayuda formatear hora en campo DateTime

ramiroli

Eso me sirve, gracias

Solo algunos ajustes y listo

Par el caso de horascuarto, hice este ajuste, y listo.
Código SQL:
Ver original
  1. SELECT horacuartos = RIGHT('00' + rtrim(CONVERT(CHAR,DATEPART(HOUR,  (@fecha)))),2)+ ':' +                  
  2.                      RIGHT('00' + rtrim(CONVERT(CHAR,FLOOR(DATEPART(MINUTE,@fecha)/15)*15)),2)

Muchas Gracias a tí y al foro

Etiquetas: datetime, formatear, campos
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 09:40.