【问题标题】:Formatting a date value in Reporting Services在 Reporting Services 中格式化日期值
【发布时间】:2015-01-28 22:41:04
【问题描述】:

我有点生疏,如果您能提供帮助,我将不胜感激。我正在使用报告服务。我正在使用 T-SQL。下面提到的 date_ordered 字段是数据类型 varchar。

我有一个给出 date_ordered 值的简单报告。不幸的是,当我 ORDER BY date_ordered DESC 时,它按当天的数值对日期进行排序,因此 31-Oct-14 最先出现,01-Apr-13 最后出现。

我希望报告首先显示最近的日期,并以最后订购的日期结束。

我确定这很明显,但我看不到。

非常感谢。

【问题讨论】:

  • 您必须提供更多详细信息。您的数据集查询是什么样的,您在哪里进行排序和格式化等。帮助我们重现您的场景,以便我们提供帮助。
  • 数据集查询很简单:select date_ordered, date dispatched, from Orders order by date_ordered。出现的第一个值是 31-Oct,第二个是 31-May,依此类推,据我所知,它是按天数值排序的。
  • 请注意,在 SO 上,您可以编辑您自己的问题以添加更多详细信息。这也会再次引发您的问题(cmets 不会)。 (PS。您发布的查询不足以让我们重现它。设身处地为我们着想:我们需要更多信息来提供帮助。例如,一些 DDL 来创建 repro,或者至少是 table结构、数据类型和一些示例数据。)
  • 感谢您指出这一点;希望修改后的帖子稍微不那么业余。看起来很简单,我认为可能有一个简单的 ish 解决方案。

标签: reporting-services


【解决方案1】:

您只需将日期转换为 tsql 中的日期时间格式。然后当您对其进行排序时,它会按预期工作。

Select CONVERT (datetime, '24-04-2012', 105 as date) as date, 
[date dispatched] from Orders order by 1

How convert string to date T-SQL?https://msdn.microsoft.com/en-us/library/ms187928.aspx

【讨论】:

  • 感谢您不厌其烦地回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多