2009-06-16 4 views
0

Ich bin mit SQL 2008 und SSRS 2008:SSRS 2008 angezeigte Datum Datetype richtig

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 

Wir sind die sp oben unter Verwendung sowohl der @StartDate und @EndDate in einem SSRS-Bericht zu füllen. Das Problem tritt auf, wenn FullDate im Dropdown-Feld für den Parameter angezeigt wird. Es wird nicht als Datum angezeigt, es wird als Datetime angezeigt und fügt jeder Zeile den Wert 12:00:00 AM hinzu.

Irgendwelche Ideen warum oder wie können wir es stoppen?

Danke,

--Aaron

Antwort

1

weil sein ein Datetime-Objekt, müssen Sie entweder eine Spaltung auf dem Feld (Split(field, " ")(0)) oder verwenden Dateformat und die gewünschte Format-String (=FormatDateTime(today, dateformat.shortdate)) zu tun

Das soll im Bericht sein, nicht der sql.

oder die Format-Eigenschaft auf dem Textfeld „d“, die

0

kurze Datumzeit zeigt Ich fühle mich dies ein Fehler ist. Ich bin auch frustriert darüber. In der Datenbank ist die Spalte eindeutig als "DATUM" definiert, und wenn Sie ein Dataset in SSRS erstellen, wird es als "DATETIME" dargestellt. Das ist kompletter Bulle .... Warum können sie ihre eigenen Datentypen nicht zwischen ihren eigenen Produkten respektieren? Ich möchte keine neue Formatierung für etwas machen, das durch seinen Typ in der Datenbank definiert wurde.

Ich hatte gehofft, dass sie es in R2 reparieren, aber, träume weiter. :(