none
Cambiar a formato de fecha normal. RRS feed

  • Pregunta

  • Buena tarde a todos,

    Me gustaría por favor me apoyarar a poder cambiar el formato de fecha 23NOV2016:21:43:11.000000 al formato 23/11/2016, he intentado de diferentes maneras, sin embargo no me ha sido posible. Me podrían orientar?

    Saludos.

    lunes, 22 de octubre de 2018 23:35

Respuestas

  • Si es una cadena

    declare @fecha varchar(25);
    
    set @fecha = '23NOV2016:21:43:11.000000'
    
    select convert(varchar(10),cast(substring(@fecha,1,9)as date),103)

    • Marcado como respuesta RaulNajera martes, 23 de octubre de 2018 18:04
    martes, 23 de octubre de 2018 14:44

Todas las respuestas

  • Hola RaulNajera:

    Las fechas en SQL Server se guardan en formato binario, por tanto toda salida sufre una conversión para mostrarse.

    Por configuraciónes de la base de datos o el servidor, la salida de los campos tipo date, datetime y datetime2 se produce en un formato establecido.

    La opción pasa por utilizar la función convert.

    declare @fecha datetime2;

    /*Declaro la variable como datetime2, que es del tipo que muestras en tu ejemplo*/ set @fecha = '20161123 21:43:11'

    /*Le pongo el valor que expones, pero en formato ansi aaaammdd hhmmss*/ select @fecha select convert(varchar(10),@fecha,103)

    Convert (link), define como 103 la salida Británico/Francés dd/mm/aaaa.

    El truco es convertir a varchar de 10 carácteres para así omitir la hora, minutos.... y aplicarle ese formato.

    Espero te ayude

    martes, 23 de octubre de 2018 5:24
  • Muchas gracias Javi por la respuesta,sin embargo el formato de fecha que se muestra en el campo es tal y como lo describo. el mes está escrito en letra y no en número

    23NOV2016:21:43:11.000000


    al ejecutar el select  convert(varchar(10), fecha, 103); obtengo el siguiente resultado:

    23NOV2016:

    Saludos



    • Editado RaulNajera martes, 23 de octubre de 2018 14:25
    martes, 23 de octubre de 2018 14:24
  • Hola Raul:

    Entonces ¿en tu base de datos, tienes la columna como varchar?

    martes, 23 de octubre de 2018 14:29
  • Si es una cadena

    declare @fecha varchar(25);
    
    set @fecha = '23NOV2016:21:43:11.000000'
    
    select convert(varchar(10),cast(substring(@fecha,1,9)as date),103)

    • Marcado como respuesta RaulNajera martes, 23 de octubre de 2018 18:04
    martes, 23 de octubre de 2018 14:44
  • Agradezco mucho la solución!!

    Ya puedo visualizar la fecha.

    saludos y gracias!!

    martes, 23 de octubre de 2018 14:46