¿Cómo convertir una cadena de texto a fecha y hora en SQL?

En este artículo te mostraré cómo convertir un campo de texto a fecha y hora, el campo se encuentra en formato de cadena (varchar, nvarchar, etc.) y lo convertiremos a en un tipo DateTime de SQL.


Este ejemplo te podrá servir para cuando quieres formatear una fecha, o quieres convertir una fecha en la base de datos, en seguida te muestro el ejemplo:

 

SELECT convert(datetime, '2013-07-15 20:44:11.500', 121) as Fecha1
SELECT convert(datetime, '07/15/13', 1) as Fecha2

Si ejecutas los ejemplos podras ver que te regresan un campo tipo DateTime, con Fecha, Hora, Minutos y segundos.

Este es un ejemplo rápido y espero que les sea de utilidad, si tienen dudas o comentarios, con confianza escríbenos y te responderemos inmediatamente.

Artículos relacionados
Para qué sirven los operadores AND y OR de SQL Server
Para qué sirven los operadores AND y OR de SQL Server

Los operadores AND y OR de SQL son operadores

¿Cómo convertir una cadena de texto a fecha y hora en SQL?
¿Cómo convertir una cadena de texto a fecha y hora en SQL?

En este artículo te mostraré cómo convertir un

3 Comentarios
  • reijo Comentar
    miércoles, 19 de marzo de 2014

    Estoy haciendo una ordenación por mysql y php, ejecuto la siguiente instrucción y no funciona: SELECT *, convert(datetime, fecha, 1) as Fecha2 FROM participantes ORDER BY Fecha2 Donde "fecha" es un campo varchar de la tabla "participantes" con el siguiente formato: 25/01/2014

    • José I. Estrada HdzComentar
      miércoles, 19 de marzo de 2014

      Hola Reijo, Prueba lo siguiente: SELECT *, convert(datetime, fecha, 1) as Fecha2 FROM participantes ORDER BY convert(datetime, fecha, 1) as Fecha2 Comentanos si te funciona. Saludos

  • reijo Comentar
    jueves, 20 de marzo de 2014

    gracias por tu comentario pero no ha funcionado, he probado con la sentencia que me has dado y con: SELECT * FROM participantes ORDER BY convert(datetime, fecha, 1) Por lógica debería funcionar, pero no ha habido suerte, al final lo he ordenado por php. No obstante estaria interesado en esta funcion. saludos y gracias

  • Zero Comentar
    martes, 7 de abril de 2015

    Yo utilizo la siguiente expresion SELECT * FROM tabla WHERE campofecha BETWEEN CONVERT(DATETIME,(@ANNO+'-'+@DIA+'-'+@MES+ ' ' + '00:00:00')) AND CONVERT(DATETIME,(@ANNO+'-'+@DIA+'-'+@MES+ ' ' + '23:59:59'))) de esta manera no hay pierde con el Date y el DateTime y la fecha la genero con el GETDATE() y la separo por dias=@DIA, Año=@ANNO y Mes=@MES :3

Enviame un comentario