1

我知道可以使用 select convert 重新格式化当前日期和时间的 DateTime 数据类型。但是,我还没有找到将现有列(DateTime 数据类型)重新格式化为:hh:mm:ss yyyy/mm/dd 的方法。或者更好的是,我想重新格式化它以仅显示时间。我不想简单地转换为时间数据类型,因为我正在使用一个接受日期或日期时间的图表。但我真正想在图表的特定轴上显示的是时间。有没有办法根据我的要求重新格式化 DateTime?谢谢。

4

2 回答 2

1

SQL Server 的convert函数可以style根据数据类型采用可选参数。这就是如何将日期时间转换为各种格式的字符串的方法。例如,尝试运行:

select convert(varchar(30), getdate(), 108) -- returns hh:mi:ss

getdate()在此示例中,您也可以用列名替换。

有许多可用的样式,如文档中所示。

请注意,您将返回一个 varchar,因此您可能希望按原始列的数据类型进行排序。

于 2012-10-03T23:25:58.730 回答
0

您可以使用SET DATEFORMAT,但这会更改 SQL Server 上的所有 DateTime。您可以进行一些自定义格式设置,但它会将 DateTime 转换为 VarChar,因此您将无法将其视为 DateTime。

设置日期格式:http: //msdn.microsoft.com/en-us/library/ms189491.aspx

不过,我不确定您是否能够使用您所询问的格式。

于 2012-10-03T21:09:24.437 回答