如何重新格式化DateTime数据类型

时间:2012-10-03 20:59:28

标签: sql sql-server

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

2 个答案:

答案 0 :(得分:1)

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

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

您也可以使用列名替换此示例中的getdate()

有许多样式可供使用,如documentation

所示

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

答案 1 :(得分:0)

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

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

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