web-dev-qa-db-fra.com

Obtenez uniquement la date de datetime sql sans conversion en varchar afin que je puisse le trier dans Excel

Actuellement, SQL renvoie la date sous la forme 2013-07-01 00: 00: 00.000 . Je souhaite uniquement la partie de la date au format mm/jj/aaaa afin que, lorsque je l'exporte vers Excel, je puisse toujours trier en fonction de l'ordre croissant ou décroissant order . J'ai essayé varchar mais cela ne se trie pas dans Excel.

7
user1733271

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;
13
Aaron Bertrand

Pour formater en tant que mm/dd/yyyy, convertir en VARCHAR en utilisant le format 101;

SELECT CONVERT(VARCHAR, GETDATE(), 101);

> 08/01/2013

Un SQLfiddle .

5
Joachim Isaksson

Essayez d'utiliser CAST to Date:

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

Pour le format jj/mm/aaaa Utilisez 103 C.-à-d.

24/08/2016

0
Robin Rana