Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Datensätze selektieren nach Datum/Uhrzeit (smalldatetime) per gespeicherter Prozedur

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von saarmike, 16 Mai 2014.

  1. saarmike

    saarmike Benutzer

    Hallo
    und wieder brauche ich eure Hilfe!

    Ich habe einen Kundenpool mit Daten in dem es das Feld Sperrdatum (smalldatetime) gibt. Das Feld Sperrdatum wird gefüllt mit einem Wert der sich zusammensetzt aus dem aktuellen Datum und der aktuellen Uhrzeit.

    So z.B. ich schlüssele einen Kunden auf Anruf nicht erreicht dann wird das Sperrdatum auf folgenden Wert gesetzt "DateAdd("n", 240, Now())".
    Dieser Kunde soll nach Ablauf des Sperrdatums wieder gezogen werden können! Wie bekomme ich es hin das er in der severgespeicherten Prozedur die Uhrzeit mit berücksichtigt?

    SELECT Top 1 KundenNr FROM tblKundendaten WHERE (Sperrdatum <= @Sperrdatum OR Sperrdatum IS NULL)

    So wie oben funktioniert es leider nicht da er nur das Datum berücksichtigt aber nicht die Uhrzeit :-(
     
  2. ukulele

    ukulele Datenbank-Guru

    Also now() heißt bei MSSQL getdate(), ist das eventuell dein Problem?
     
  3. saarmike

    saarmike Benutzer

    Hallo ukulele,
    nein in @Sperrdatum wird der folgende Wert an die Prozedur übergeben "16.05.2014 19:11:33", aktuelles Datum und Uhrzeit ist "16.05.2014 15:11:33"
    Wie gesagt er scheint nur das Datum zu berücksichtigen wenn ich <= abfrage und die Uhrzeit einfach zu ignorieren!
     
  4. ukulele

    ukulele Datenbank-Guru

    Nun, du wählst alle Datensätze aus deren Sperrdatum kleiner oder gleich @Sperrdatum ist. Wenn jetzt @Sperrdatum aus deiner Prozedur kommt und den neuen, erhöhten Wert beinhaltet, wer setzt dein Sperrdatum dann in den Datensätzen hoch? Ich denke du suchst in deiner Abfrage
    Code:
    SELECT    TOP 1 kundenNr
    FROM    tblKundendaten
    WHERE    Sperrdatum <= getdate()
    OR        Sperrdatum IS NULL
     
    saarmike gefällt das.
  5. saarmike

    saarmike Benutzer

    Danke Ukulele,
    da stand ich aber so etwas von auf dem Schlauch, ich muß ja keinen Wert übergeben den ich per per getdate() abfragen kann,
    man oh man die Sonne scheint wieder zu heiß, lach

    THX
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden