Tips para campos datetime en SQL Server

sqlserver2012_v2(3)_thumb[3]

Para mi es mucho más sencillo e intuitivo trabajar con campos datetime en MySQL pero SQL Server ofrece las mismas (sino alguna más) posibilidades de convertir estos campos en formatos concretos de hora y fecha.

Para ello tenemos las funciones CONVERT y DATEPART. Aquí os dejo algunos ejemplos de su uso.

Convertir un campo datetime a fecha en castellano (el año con 4 dígitos)

SELECT CONVERT(VARCHAR(10), CURRENT_TIMESTAMP, 103);

Convertir un campo datetime a fecha en castellano (el año con 2 dígitos)

SELECT CONVERT(VARCHAR(8), CURRENT_TIMESTAMP, 3);

Extraer la fecha de un campo datetime

SELECT CONVERT(DATE, CURRENT_TIMESTAMP);

Extraer el tiempo de un campo datetime con milisegundos

SELECT CONVERT(TIME, CURRENT_TIMESTAMP);

Extraer el tiempo de un campo datetime sin milisegundos

SELECT CONVERT(VARCHAR(9), CURRENT_TIMESTAMP, 108);

¿Se os ocurre algún otro formato más?

Comentarios

Er Coto ha dicho que…
--Pasa MS SQL
--Para colocar la fecha en español
SET LANGUAGE SPANISH;
SET DATEFORMAT DMY ;
--Para obtener formato AAAMMDD
SELECT CONVERT(char, CURRENT_TIMESTAMP, 112);

Saludos !
Reynier ha dicho que…
No conocía este tip. lo probaré a¡haber que tal, aunque espero no me cambie la configuración de la base de datos