只从date时间的SQL获取date而不转换为varchar,以便我可以在Excel中sorting

目前sql返回date为2013-07-01 00:00:00.000。 我只需要mm / dd / yyyy格式的date部分,以便当我将其导出为ex​​cel时,我仍然可以根据升序或降序进行sorting。 我试过varchar,但它不会在Excel中sorting。

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

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

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

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

要么

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

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

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

一个SQLfiddle 。

尝试使用CASTdate:

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

对于dd / mm / yyyy格式,使用103即SELECT CONVERT(VARCHAR(10),COL_Name,103);

24/08/2016