Obtenir seulement la date de datetime sql sans convertir en varchar afin que je puisse le sortinger en excel

Actuellement, sql renvoie la date au 2013-07-01 00: 00: 00.000. Je ne veux que la partie date au format mm / jj / aaaa afin que lorsque je l'exporte vers Excel, je puisse encore sortinger en fonction de l'ordre croissant ou décroissant. J'ai essayé varchar mais il n'est pas sortingé en Excel.

Vous pouvez convertir en DATE , mais Excel peut les afficher sous forme de nombres, pas sûr.

 SELECT CONVERT(DATE, col) FROM dbo.table; 

Sinon, vous pouvez utiliser un style spécifique, par exemple

 -- yyyy-mm-dd - standard, unambiguous format SELECT CONVERT(CHAR(10), col, 120) FROM dbo.table; 

Ou

 -- mm/dd/yyyy - ambiguous, regional format SELECT CONVERT(CHAR(10), col, 101) FROM dbo.table; 

Pour mettre en forme en tant que mm/dd/yyyy , convertissez en VARCHAR utilisant le format 101;

 SELECT CONVERT(VARCHAR, GETDATE(), 101); > 08/01/2013 

Un SQLfiddle .

Essayez d'utiliser CAST à ce jour:

 SELECT Cast('2013-07-01 00:00:00.000' AS DATE) 

Pour le format jj / mm / aaaa utilisez 103 soit SELECT CONVERT (VARCHAR (10), COL_Name, 103);

24/08/2016