从datetime sql获取日期而不转换为varchar,以便我可以在excel中对其进行排序

use*_*271 7 t-sql sql-server excel sql-server-2008

目前sql将日期返回为2013-07-01 00:00:00.000.我只想要mm/dd/yyyy格式的日期部分,这样当我将它导出到excel时,我仍然可以按升序或降序排序.我尝试了varchar,但它没有在excel中排序.

Aar*_*and 13

您可以转换为DATE,但Excel可能会将这些显示为数字,但不确定.

SELECT CONVERT(DATE, col) FROM dbo.table;
Run Code Online (Sandbox Code Playgroud)

否则你可以使用特定的风格,例如

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

要么

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


Joa*_*son 5

格式化为mm/dd/yyyy,转换为VARCHAR使用格式101;

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

> 08/01/2013
Run Code Online (Sandbox Code Playgroud)

一个SQLfiddle.