26/11/10

[tsql] Formatos de Conversión de Fecha a Cadena en SQL Server

Holas!

Hacía un tiempo había visto que en SQL Server se usa la función CONVERT() para formatear una fecha (y tal vez otros campos) a cadena.

El formato para lograr esto en general es este: poniendo como ejemplo que quiero mostrar la fecha actual de la base de datos en la forma "aaaammdd" (año mes día, sin separaciones):

> SELECT CONVERT(VARCHAR, GETDATE(), 112);

Esto nos retornaría (en estos momentos) algo como esto:

> 20101126

Analizando la función por partes, tenemos que:

CONVERT() es, claro, la función.
VARCHAR es el primer parámetro de la función e indica el tipo de datos en que queremos convertir el campo.
GETDATE() es una función que retorna la fecha actual del servidor, pero para nuestros efectos acá ella está sólo ocupando el lugar de un campo tipo fecha, vale decir, este parámetro de la función es lo que queremos convertir.
112 es el formato en que queremos que el campo a convertir sea presentado; en este ejemplo, el código 112 convierte un campo fecha en el formato aaaammdd :)

Ahora bien, resultó que el otro día tenía que entregar una lista de alumnos con sus respectivas fechas de nacimiento, pero como era para asuntos administrativos, no podía entregarla ni en el formato nativo de SQL ni en el antes mencionado. Por eso, me di la maña de probar números al azar de formato, y el resultado me pareció muy interesante, como para compartirlo acá, y así aminorar vuestro tiempo de búsqueda en internet, sobre las distintas conversiones que se pueden lograr de un campo fecha, a cadena, en SQL Server ^_^:































































FormatoEjemplo de Resultado
100Feb 6 1977 12:00AM
10102/06/1977
1021977.02.06
10306/02/1977
10406.02.1977
10506-02-1977
10606 Feb 1977
107Feb 06, 1977
10800:00:00
109Feb 6 1977 12:00:00:000AM
11002-06-1977
1111977/02/06
11219770206
11306 Feb 1977 00:00:00:000



Útil, eh? ^___^
Hasta pronto!

Edit: No logro quitarle ese mega margen a la tablita, es seguro que el estilo de este blog me está provocando esto, horror >_<
Publicar un comentario