Cómo convertir DateTime en VarChar

Estoy trabajando en una consulta en Sql Server 2005 donde necesito convertir un valor en la variable DateTime en una variable varchar en formato yyyy-mm-dd (sin la parte de la hora). ¿Cómo lo hago?

Prueba lo siguiente:

CONVERT(varchar(10), [MyDateTimecolumn], 20)

Para obtener una fecha completa y no sólo la fecha, haga lo siguiente

CONVERT(varchar(23), [MyDateTimecolumn], 121)

Vea esta página para convertir estilos:

http://msdn.microsoft.com/en-us/library/ms187928.aspx O Función CONVERT() de SQL Server

Comentarios (0)

Ya sea Cast o Convert:

Sintaxis para CAST:

CAST ( expression AS data_type [ (length ) ])

Sintaxis para CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

http://msdn.microsoft.com/en-us/library/ms187928.aspx

En realidad, ya que usted pidió un formato específico:

REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Comentarios (0)

No has dicho qué base de datos, pero con mysql aquí hay una manera fácil de obtener una fecha a partir de una marca de tiempo (y la conversión de tipo varchar debería ocurrir automáticamente):

mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16  | 
+-------------+
1 row in set (0.00 sec)
Comentarios (1)