【发布时间】:2013-08-01 16:33:49
【问题描述】:
目前 sql 返回日期为 2013-07-01 00:00:00.000。 我只想要 mm/dd/yyyy 格式的日期部分,这样当我将其导出到 excel 时,我仍然可以根据升序或降序进行排序。 我尝试了 varchar,但它没有在 excel 中排序。
【问题讨论】:
标签: sql-server sql-server-2008 excel tsql
目前 sql 返回日期为 2013-07-01 00:00:00.000。 我只想要 mm/dd/yyyy 格式的日期部分,这样当我将其导出到 excel 时,我仍然可以根据升序或降序进行排序。 我尝试了 varchar,但它没有在 excel 中排序。
【问题讨论】:
标签: sql-server sql-server-2008 excel tsql
您可以转换为 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
【讨论】:
尝试使用CAST 约会:
SELECT Cast('2013-07-01 00:00:00.000' AS DATE)
【讨论】:
适用于 dd/mm/yyyy 格式 使用 103 IE。 SELECT CONVERT(VARCHAR(10), COL_Name, 103);
2016 年 8 月 24 日
【讨论】: