none
Formatear fecha y hora RRS feed

  • Pregunta

  • Estimados.

    En un SS2008 estoy haciendo unos backup donde el archivo debe ir con fecha y hora.

    El problema es que cuando los minutos y segundos son 00 me deja solo 1 digito:

    Este es la parte donde intento formatear puse la fecha y hora en duro para ejemplificar.

    Declare @FechaHora datetime
    SET @FechaHora= ('20170615 13:00:00')

    Select Convert(varchar(30),@FechaHora,112) + '_'+ CAST(DATEPART(hour,@FechaHora) as char(2))+CAST(DATEPART(minute,@FechaHora) as char(2))+ CAST(DATEPART(second,@FechaHora) as char(2))

    El resultado es:

    Declare @FechaHora datetime
    SET @FechaHora= ('20170615 13:00:00')

    Select Convert(varchar(30),@FechaHora,112) + '_'+ CAST(DATEPART(hour,@FechaHora) as char(2))+CAST(DATEPART(minute,@FechaHora) as char(2))+ CAST(DATEPART(second,@FechaHora) as char(2))

    El resultado:

    20170615_130 0 

    Y quisiera:

    20170615_130000

    Cuando los minutos y segundos no son 00 el formato queda como lo espero.

    Saludos.


    DBA SQL Server Santiago/Chile

    jueves, 15 de junio de 2017 17:43

Respuestas

  • DECLARE @FechaHora datetime = '20170615 13:00:00';
    SELECT CONVERT(varchar(8), @FechaHora, 112) + '_' + 
    		  REPLACE(CONVERT(varchar(10), CONVERT(time(0), @FechaHora)), ':', '')
    
    --Resultado: 20170615_130000


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta CMAPM jueves, 15 de junio de 2017 19:16
    jueves, 15 de junio de 2017 17:53

Todas las respuestas

  • No se si es la amejor manera, pero lo estoy sacando asi:

    Select Substring(Convert(Char(8), @FechaHora, 108),1,2) --Hora
    Select Substring(Convert(Char(8), @FechaHora, 108),4,2) --Min
    Select Substring(Convert(Char(8), @FechaHora, 108),7,2) --Seg


    DBA SQL Server Santiago/Chile

    jueves, 15 de junio de 2017 17:49
  • DECLARE @FechaHora datetime = '20170615 13:00:00';
    SELECT CONVERT(varchar(8), @FechaHora, 112) + '_' + 
    		  REPLACE(CONVERT(varchar(10), CONVERT(time(0), @FechaHora)), ':', '')
    
    --Resultado: 20170615_130000


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta CMAPM jueves, 15 de junio de 2017 19:16
    jueves, 15 de junio de 2017 17:53
  • Muchas Gracias Williams.

    DBA SQL Server Santiago/Chile

    jueves, 15 de junio de 2017 19:16