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