Я использую SQL 2008 и SSRS 2008:
CREATE TABLE [dbo].[DimDates](
[pkDateID] [int] NOT NULL,
[FullDate] [date] NULL,
[DayNumberOfWeek] [tinyint] NULL,
[DayNameOfWeek] [varchar](9) NULL,
[IsLastDayOfMonth] [char](1) NULL,
[MonthName] [varchar](9) NULL,
[CalendarDay] [smallint] NULL,
[CalendarWeek] [tinyint] NULL,
[CalendarMonth] [tinyint] NULL,
[CalendarQuarter] [tinyint] NULL,
[CalendarYear] [smallint] NULL,
[FiscalDay] [smallint] NULL,
[FiscalWeek] [tinyint] NULL,
[FiscalMonth] [tinyint] NULL,
[FiscalQuarter] [tinyint] NULL,
[FiscalYear] [smallint] NULL,
)
GO
CREATE PROCEDURE [dbo].[LookupWeek]
@StartDateID int = NULL
AS
IF @StartDateID IS NULL
SELECT
dd.pkDateID
, dd.FullDate
FROM
dbo.DimDates dd
WHERE
dd.DayNumberOfWeek = 7
AND dd.FullDate <= GETDATE()
ORDER BY
dd.pkDateID DESC
ELSE
SELECT
dd.pkDateID
, dd.FullDate
FROM
dbo.DimDates dd
WHERE
dd.DayNumberOfWeek = 7
AND dd.pkDateID >= @StartDateID
AND dd.FullDate <= GETDATE()
ORDER BY
dd.pkDateID DESC
RETURN 0
GO
Мы используем вышеприведенный sp для заполнения @StartDate и @EndDate в отчете SSRS. Проблема возникает при отображении FullDate в раскрывающемся списке для параметра, он не отображается как дата, он отображается как дата и время и добавляет 12:00:00 AM в каждую строку.
Есть идеи, почему или как мы можем это остановить?
Спасибо
- Aaron