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