1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Alle Datensätze älter als definiertes Datum löschen

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Stfns, 7 Dezember 2011.

  1. Stfns

    Stfns Neuer Benutzer

    Hallo,

    ich bin neu hier und brauche Hilfe mitm MSSQL Server.

    Ich möchte alle Datensätze einer Datenbank löschen, die älter als 31.11.2011 sind.

    Die Datenbank hab ich übernommen, das Datum wird als "2011-11-30 11:38:51.000" ausgegeben. Bisher hab ich mit folgendem Skript versucht alle daten älter als 2011-11-30 11:38:51.000 zu löschen :
    ----------------------------------------------------------------------------
    DELETE dbo.user WHERE StartTime <='2011-11-30 11:38:51.000'
    ----------------------------------------------------------------------------

    Allerdings funktioniert es nicht, Fehlermeldung:
    ----------------------------------------------------------------------------
    Meldung 242, Ebene 16, Status 3, Zeile 1
    Bei der Konvertierung eines char-Datentyps in einen datetime-Datentyp liegt der datetime-Wert außerhalb des gültigen Bereichs.
    Die Anweisung wurde beendet.
    ----------------------------------------------------------------------------
    (0 Zeile(n) betroffen)

    Könnt ihr mir helfen?

    Danke im Vorraus.
     
  2. sqler

    sqler Benutzer

    Hallo!

    Was passiert, wenn du

    DELETE dbo.user WHERE StartTime < '2011-11-31'
    versuchst?
     
  3. ukulele

    ukulele Datenbank-Guru

    Das Problem ist das unterschiedliche Datumsformat Ausgabe != Eingabe. Er gibt dir bei der Anzeige das Datum in "Deutsch" YYYY-MM-DD aus, Eingabe läuft nur mit "Englischem" Format YYYY-DD-MM, sofern man es nicht vorher umstellt.

    Code:
    DELETE dbo.user WHERE StartTime <='2011-30-11 11:38:51.000'
    ...sollte gehen.
     
  4. Stfns

    Stfns Neuer Benutzer

    Sehr gut! Vielen Dank!
     

Diese Seite empfehlen