Casablanca: Date - Vergleich

Hallo Form,

ich muss euch leider noch einmal um Hilfe bitte.
Ich arbeite mit Dynamic Linq und muss da zwei Daten miteinander vergleichen. Das erste Datumkommt aus der Datenbank und sieht so aus "2014-07-31 03:12:00.000". Das Zweite Datum bekomme ich von den Benutzern und sieht es so uas "01.08.2014".

Die aus meinem Linq erzeuget SQL-Anweisung sieht so aus:

  
SELECT  
[Extent1].[MyId] AS [MyId],  
[Extent1].[TimeStamp] AS [TimeStamp],  
[Extent1].[Name] AS [Name]  
FROM [dbo].[MyTable] AS [Extent1]  
WHERE (249 = [Extent1].[MyId]) AND ((DATEPART (year, [Extent1].[TimeStamp])) >= 2014) AND ((DATEPART (year, [Extent1].[TimeStamp])) <= 2014) AND  
((DATEPART (month, [Extent1].[TimeStamp])) >= 7) AND ((DATEPART (month, [Extent1].[TimeStamp])) <= 8) AND ((DATEPART (day, [Extent1].[TimeStamp])) >= 31) AND  
((DATEPART (day, [Extent1].[TimeStamp])) <= 2)  
ORDER BY [Extent1].[TimeStamp] ASC  

Das ganze funktionier auch einwandfrei, solange die Daten innerhalb eines Monats liegen. Wenn aber die Daten montasübergreifend sind, wie der letzte Teil der SQL-Anweisung oben zeigt,

  
((DATEPART (day, [Extent1].[TimeStamp])) >= 31) AND  
((DATEPART (day, [Extent1].[TimeStamp])) <= 2)  

bricht dann alles zusammen, also kein Ergebniss wird zurückgeliefert. Der Tag kann nicht größer 31 und kleiner 2 sein.

Gibt es einen anderen Weg, die Daten zu vergleichen.

Danke im Voraus.

  1. Om nah hoo pez nyeetz, Casablanca!

    Ich arbeite mit Dynamic Linq und muss da zwei Daten miteinander vergleichen. Das erste Datumkommt aus der Datenbank und sieht so aus "2014-07-31 03:12:00.000". Das Zweite Datum bekomme ich von den Benutzern und sieht es so uas "01.08.2014".

    Gibt es einen anderen Weg, die Daten zu vergleichen.

    Hast du die Möglichlkeit, das zweite Datum in einen Timestamp umzuwandeln?

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Schwan und Schwangerschaft.

    1. Hi,

      danke für deine Antwort. Ja das mach ich an dieser Stelle auch.

      Gruß

      1. Om nah hoo pez nyeetz, Casablanca!

        danke für deine Antwort. Ja das mach ich an dieser Stelle auch.

        Dann vergleiche die Timestamps. Der kleinere liegt in der Vergangenheit des größeren.

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Koma und Komantsche.

        1. Hallo,

          danke. Das ist machbar. Die daraus gewonnene SQL-Anweisung gibt in SQL-Server auch die gewünschten Resultate zurück. Das LINQ-Satetment selber gibt aber keine Rasultate zurück.

          Und was soll dieser Unsinn mit "Om nah hoo pez nyeetz, Casablanca!"?

          Gruß

          1. Hallo,

            Und was soll dieser Unsinn mit "Om nah hoo pez nyeetz, Casablanca!"?

            Nix Unsinn...

            vg ichbinich

            --
            Kleiner Tipp:
            Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...