sunshine: SQL-Abfrage MS SQL

Hallo alle zusammen,

habe folgendes Problem:

SELECT     *
FROM         antragrueck
WHERE     (DATEDIFF([month], ludate, GETDATE()) > 1) AND (NOT (status = 'K'))

nach dieser SQL-Abfrage bekomme ich vom MS SQL-Server folgende Fehlermeldung

Bei der Konvertierung eines Char-Datentyps in einen datetime-Datentype liegt der datetime-wert außerhalb des gültigen Bereichs.

Ludate ist als Char 32 in der Tabelle definiert.

Die gleiche abfrage mache ich auf einer andern Tabelle und dort geht es. Nur bei dieser Tabelle oben geht es nicht - wo liegt der Fehler? In der ´Hilfe von MS SQLServer bin ich nicht weitergekommen.

Thanx Gruss Sunshine

  1. Hi,

    Ludate ist als Char 32 in der Tabelle definiert.

    auf jeden Fall mit CAST oder CONVERT und ISDATE() ganz vorsichtig den CHAR(32)-Wert anpacken. BTW - MS SQL Server kennt nur Datumswerte ab dem 01.01.1900.

    [...] In der ´Hilfe von MS SQLServer bin ich nicht weitergekommen.

    Noch nicht weitergekommen.   ;-)

    Gruss,
    Ludger

    --
    "Wir brauchen einen Mann auf dem Mars."
    1. Hi,

      MS SQL Server kennt nur Datumswerte ...

      du verbreitest Halbwahrheiten!

      für MS SQL 2000 Srv:
      Datentyp                 MinWert                  MaxWert

      datetime                 01.01.1753               31.12.9999
      smalldatetime            01.01.1900               06.06.2079

      Aber auch 1753 ist nicht grad ausreichend, wenn man historische Daten
      speichern muss. :-(

      Naja, Yukon schafft es immerhin schon bis zum Jahr 1 AD :-)

      Und tschüss.
      Frank