SQL – Cómo convertir fecha tipo varchar a date con DATEFROMPARTS

SQL cómo convertir fecha tipo varchar a date

Aunque en la teoría se nos suele indicar que una fecha se debe guardar en base de datos con su tipo corresponidente (date o dateTime), en el mundo laboral, hay ocasiones en las cuales no es así y la fecha está guardada como varchar y en un formato diferente. En concreto, me surgió la necesidad de convertir un campo con fecha tipo varchar con el formato DD/MM/YYYY a tipo date con el formato YYYY/MM/DD. A continucació os explicaré en Microsoft SQL cómo convertir fecha tipo varchar a date con DATEFROMPARTS:

Imaginemos que tenemos, en nuestra base de datos , la siguiente fecha guardada como varchar: 01/01/2020 y necesitamos saber en SQL cómo convertir fecha tipo varchar a date.

Y la necesitamos mostrar con el formato YYYY/MM/DD (2020/01/01) y tipo date (por la razón que sea).

Para ello, utilizaremos la función DATEFROMPARTS en Microsoft SQL Server y dividiremos la fecha en diferentes partes e indicar cada parte a qué hace referencia:

  • La primera parte haría referencia al año (YYYY).
  • La segunda al mes (MM).
  • Y la tercera al día (DD).
select DATEFROMPARTS(RIGHT(FECHA_ANTIGUA,4),SUBSTRING(FECHA_ANTIGUA,4,2),LEFT(FECHA_ANTIGUA,2)), A.FECHA_FORMATO_CORRECTO, A.* from TABLA as A 
Os pueden ser de utilidad los siguientes enlaces:
En el siguiente tutorial, se explica cómo utilizar DATEFROMPART paso a paso:

Si queréis aprender más funciones de fecha y hora en SQL Server, os recomiendo este otro vídeo:

Espero que os sea útil

¡Que seáis felices!

Fuente:

Ver más en: Mi lado Informático
Volver arriba