none
consulta con fechas obtener solo la hora RRS feed

  • Pregunta

  • Hola a todo el foro tengo una consulta en sql server 2005 con fecha del tipo datetime y la siguiente consulta que solo necesito ver la hora como lo puedo modificar para lograr eso? . gracias y saludos

    SELECT [Nro_Evento], [Id_Empleado], [Fecha_Contacto], [Resultdo_Seguimiento], [Proxima_Tarea] FROM [Eventos_Contactos] WHERE (([Id_Empleado] = @Id_Empleado) and (CAST(FLOOR(CAST(Fecha_Contacto AS FLOAT)) AS DATETIME) = CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))) ORDER BY [Fecha_Contacto], [Nro_Evento], [Proxima_Tarea]

    viernes, 1 de abril de 2011 14:17

Respuestas

  • Entonces puedes agregar una columna mas, en la clausula SELECT, donde muestres la hora. Si solo deseas la hora entonces puedes usar la funcion DATEPART ( DATEPART([hour], fecha_contacto) ). Si deseas ver hora, minutos, segundos, etc entonces quizas sea mas facil usar la funcion CONVERT con el estilo 108.

    select convert(char(8), getdate(), 108) as [hh:mm:ss];
    GO

     


    AMB

    Some guidelines for posting questions...

    viernes, 1 de abril de 2011 15:13
  • hola prueba con el convert, algo asi:+

    SELECT     CONVERT(char(8), GETDATE(), 108) AS [hh:mm:ss], Nro_Evento, Id_Empleado,
        CONVERT(VARCHAR(10),Fecha_Contacto,108) AS Fecha_Contacto, Resultdo_Seguimiento, Proxima_Tarea
    FROM         Eventos_Contactos
    WHERE     (Id_Empleado = @Id_Empleado) AND (CAST(FLOOR(CAST(Fecha_Contacto AS FLOAT)) AS DATETIME) = CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))


    Julio Avellaneda
    Blog !!

    viernes, 1 de abril de 2011 20:02

Todas las respuestas

  • > y la siguiente consulta que solo necesito ver la hora

    Ver la hora donde, en la lista de columnas de la clausula SELECT, o que deseas filtar las filas solo por la hora?

     

     


    AMB

    Some guidelines for posting questions...

    viernes, 1 de abril de 2011 14:25
  • ver la hora en la visualizacion del select porq lo uso en una grilla en asp.net y como la fecha ya lo puedo ver en un encabezado ya no necesito replicar fila por fila la fecha y como ya se que seran todos con la misma fecha solo quiero ver la hora
    viernes, 1 de abril de 2011 14:31
  • Entonces puedes agregar una columna mas, en la clausula SELECT, donde muestres la hora. Si solo deseas la hora entonces puedes usar la funcion DATEPART ( DATEPART([hour], fecha_contacto) ). Si deseas ver hora, minutos, segundos, etc entonces quizas sea mas facil usar la funcion CONVERT con el estilo 108.

    select convert(char(8), getdate(), 108) as [hh:mm:ss];
    GO

     


    AMB

    Some guidelines for posting questions...

    viernes, 1 de abril de 2011 15:13
  • Hola,

    Acá te dejo un enlace donde podrás ver las diferentes conversiones que puedes hacer con las fechas en SQL Server con el propósito de extraer solo lo que necesites. En tu caso la hora.


    IT Teach - Conversión de Fecha [SQL Server]

     

    Espero que te sirva.


    Willy Taveras.-
    República Dominicana


    IT Learn - Learning Together
    IT Teach - Teaching Together

    viernes, 1 de abril de 2011 16:10
    Moderador
  • hola prueba con el convert, algo asi:+

    SELECT     CONVERT(char(8), GETDATE(), 108) AS [hh:mm:ss], Nro_Evento, Id_Empleado,
        CONVERT(VARCHAR(10),Fecha_Contacto,108) AS Fecha_Contacto, Resultdo_Seguimiento, Proxima_Tarea
    FROM         Eventos_Contactos
    WHERE     (Id_Empleado = @Id_Empleado) AND (CAST(FLOOR(CAST(Fecha_Contacto AS FLOAT)) AS DATETIME) = CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))


    Julio Avellaneda
    Blog !!

    viernes, 1 de abril de 2011 20:02
  • Entonces puedes agregar una columna mas, en la clausula SELECT, donde muestres la hora. Si solo deseas la hora entonces puedes usar la funcion DATEPART ( DATEPART([hour], fecha_contacto) ). Si deseas ver hora, minutos, segundos, etc entonces quizas sea mas facil usar la funcion CONVERT con el estilo 108.

    select convert(char(8), getdate(), 108) as [hh:mm:ss];
    GO

     


    AMB

    Some guidelines for posting questions...


    Con la ayuda de el amigo Julio Avellaneda que me resolvio una gran duda queda la resolucion de la consulta asi:

    SELECT     Nro_Evento, Id_Empleado, CONVERT(VARCHAR(10), Fecha_Contacto, 108) AS Fecha_Contacto, Resultdo_Seguimiento, Proxima_Tarea
    FROM         Eventos_Contactos
    WHERE     (Id_Empleado = @Id_Empleado) AND (CAST(FLOOR(CAST(Fecha_Contacto AS FLOAT)) AS DATETIME) = CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))

     

    y entonces da como resultado las horas de las filas con un mismo dia que es lo que la consulta necesitaba

    en vez de
    01/04/2011 12:00:00 a.m.
    01/04/2011 12:00:00 a.m.
    01/04/2011 06:45:00 p.m.
    01/04/2011 06:45:00 p.m.

    queda asi

    00:00:00
    00:00:00
    18:45:00
    18:45:00
    viernes, 1 de abril de 2011 20:06
  • has esto

    SELECT CONVERT(VARCHAR,SUbSTRING(CONVERT(VARCHAR,IsNull(getdate(),''),100),12,100)) as hora

    viernes, 23 de agosto de 2019 21:37