如何在 SSRS 报告中以给定字符串格式显示时间值?

发布于 2024-11-15 08:05:44 字数 246 浏览 2 评论 0原文

我想在 SSRS 报告中显示持续时间 我的数据库字段是 SQL 中的时间。它转换 SSRS 中的时间跨度。

格式为: 1:00 PM - 3:50 PM

我该怎么做?

Fields!StartTime.Value.ToString() + " PM - "  + 
       Fields!EndTime.Value.ToString() + " PM" is not working..

I want to Display time duration in SSRS report
My DB field is time in SQL. It converts Timespan in SSRS.

format is : 1:00 PM - 3:50 PM

How can i do this ?

Fields!StartTime.Value.ToString() + " PM - "  + 
       Fields!EndTime.Value.ToString() + " PM" is not working..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ペ泪落弦音 2024-11-22 08:05:44

这是借助 SSRS 中的自定义代码实现此目的的一种可能方法。以下示例不会详细介绍创建 SSRS 报告的详细信息,但应该介绍如何在 SSRS 中实现时间格式化。

分步过程:

  1. 使用SQL 脚本下提供的脚本创建一个名为dbo.Timespans 的表。 使用屏幕截图 #1 中所示的一些数据填充它。

  2. 创建 SSRS 报告并使用表 dbo.Timespans 作为数据源。请参阅屏幕截图 #2

  3. 单击报告菜单并选择报告属性。选择左侧部分的“代码”选项卡。

  4. 将 SSRS 自定义代码部分下给出的代码粘贴到自定义代码文本框中。单击“确定”。此代码采用 timeSpan 值和 format 字符串。然后它将格式化时间数据并以字符串形式返回。请参阅屏幕截图 #3

  5. 右键单击时间列并选择表达式... 粘贴表达式=Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") +“-”+
    设置表达式:值 文本框中的 Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt")
    。请参阅屏幕截图 #4 和 #5

  6. 屏幕截图#6 显示报告的执行。

希望有帮助。

SQL 脚本:

CREATE TABLE [dbo].[Timespans](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [StartTime] [time](7) NULL,
    [EndTime] [time](7) NULL,
CONSTRAINT [PK_Timespans] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY]
GO

SSRS 自定义代码:

public function FormatTimeSpan(timeSpanValue as TimeSpan, format as string) as string
    Dim dateValue as DateTime
    dateValue = new DateTime(timeSpanValue.Ticks)
    return dateValue.ToString(format)
end function

屏幕截图 #1:

1

屏幕截图 #2:

2

屏幕截图 #3:

3

屏幕截图 #4:

4

屏幕截图 #5:

5

屏幕截图 # 6:

6

Here is one possible way of achieving this with the help of Custom code in SSRS. Following example doesn't go into the details of creating SSRS reports but should give an idea of how the time formatting can be achieved within SSRS.

Step-by-step process:

  1. Create a table named dbo.Timespans using the script provided under SQL Scripts. Populate it with some data as shown in screenshot #1.

  2. Create an SSRS report and use the table dbo.Timespans as the data source. Refer screenshot #2.

  3. Click on the Report menu and select Report Properties. Select the Code tab on the left section.

  4. Paste the code given under SSRS Custom code section in the Custom code textbox. Click OK. This code takes a timeSpan value and format string. It will then format the time data and return as a string. Refer screenshot #3.

  5. Right-click on the time column and select Expression... Paste the expression =Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") + " - " +
    Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt")
    in the Set expression for: Value textbox. Refer screenshots #4 and #5.

  6. Screenshot #6 shows execution of the report.

Hope that helps.

SQL Scripts:

CREATE TABLE [dbo].[Timespans](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [StartTime] [time](7) NULL,
    [EndTime] [time](7) NULL,
CONSTRAINT [PK_Timespans] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY]
GO

SSRS Custom Code:

public function FormatTimeSpan(timeSpanValue as TimeSpan, format as string) as string
    Dim dateValue as DateTime
    dateValue = new DateTime(timeSpanValue.Ticks)
    return dateValue.ToString(format)
end function

Screenshot #1:

1

Screenshot #2:

2

Screenshot #3:

3

Screenshot #4:

4

Screenshot #5:

5

Screenshot #6:

6

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文