none
Actualizar formato de fechas RRS feed

  • Pregunta

  • Buenas tardes

    Me podrían ayudar tengo una tabla con diferentes registros y cada uno contiene una fecha, las fechas están es formatos distintos como 11/7/2017 tomando mm/d/yyyy y otros 6/5/2018 m/d/yyyy y lo que requiero es pasar todos los registros a un solo formato que seria mm/dd/yyyy tomando las fechas que tienen mis tablas ejemplo; si la fecha esta 6/5/2018 que lo pase 06/07/2018. Esto en sql server.

    De antemano muchas gracias y espero me puedan ayudar.


    lunes, 18 de diciembre de 2017 23:13

Respuestas

  • El campo donde esta la fecha es de tipo char para que tengas en diferentes formatos??

    Siendo afirmativo como sabes el formato correcto, es decir, tienes un mascara en otro campo??

    Porque la pregunta??? si tienes un dato 6/5/2018 es valido también como 5/6/2018 como fecha.

    martes, 19 de diciembre de 2017 5:16
  • Te sugiero algo mejor: cambia el tipo de la columna: de varchar a 'date'.

    Si almacenas la fecha en una columna de tipo 'date' podrás recuperar y mostrar el valor en el formato que consideres oportuno, ya sea personalizado o basado en la configuración regional, de hecho, la manera como se lee una representación de fecha varía según el contexto regional, por tanto, la cadena de caracteres: '06/05/2018' podría tener dos lecturas distintas. 

    Si persistes en la idea inicial puedes actualizar el formato de la siguiente manera:

    UPDATE Fechas
    SET 
        Fecha = RIGHT('0' + SUBSTRING(Fecha, 1, CHARINDEX('/', Fecha)), 3) +
    		  RIGHT('0' + SUBSTRING(Fecha, CHARINDEX('/', Fecha) + 1, 4000), 7);


    martes, 19 de diciembre de 2017 17:02

Todas las respuestas

  • El campo donde esta la fecha es de tipo char para que tengas en diferentes formatos??

    Siendo afirmativo como sabes el formato correcto, es decir, tienes un mascara en otro campo??

    Porque la pregunta??? si tienes un dato 6/5/2018 es valido también como 5/6/2018 como fecha.

    martes, 19 de diciembre de 2017 5:16
  • Te sugiero algo mejor: cambia el tipo de la columna: de varchar a 'date'.

    Si almacenas la fecha en una columna de tipo 'date' podrás recuperar y mostrar el valor en el formato que consideres oportuno, ya sea personalizado o basado en la configuración regional, de hecho, la manera como se lee una representación de fecha varía según el contexto regional, por tanto, la cadena de caracteres: '06/05/2018' podría tener dos lecturas distintas. 

    Si persistes en la idea inicial puedes actualizar el formato de la siguiente manera:

    UPDATE Fechas
    SET 
        Fecha = RIGHT('0' + SUBSTRING(Fecha, 1, CHARINDEX('/', Fecha)), 3) +
    		  RIGHT('0' + SUBSTRING(Fecha, CHARINDEX('/', Fecha) + 1, 4000), 7);


    martes, 19 de diciembre de 2017 17:02