Announcement

Collapse
No announcement yet.

Trigger: Date & Time -> Timestamp

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Trigger: Date & Time -> Timestamp

    Hallo,

    ich arbeite verzweifelt daran, in einem Trigger aus einem Date-Feld und einem Time-Feld ein Timestamp Feld zumachen:

    DECLARE @Datum date;
    DECLARE @Uhrzeit Time;
    DECLARE @Zeit Timestamp;

    @Zeit = Convert(@Uhrzeit,SQL_TIMESTAMP)+Convert(@Datum,SQL _TIMESTAMP);

    Der Operand "+" wird bei diesem Datentyp nicht akzeptiert. In der Quelltabelle sind Datum und Uhrzeit getrennt und in der Zieltabelle möchte ich ein Timestamp-Feld haben. Der Befehl TIMESTAMPADD hilft mir bei diesem Problem auch nicht weiter. Aber irgendwie muss das doch gehen.

    Ludwig

  • #2
    Hallo,

    vielleicht gibt es einen einfacheren Weg in ADS, aber das Folgende könnte funktionieren:

    [highlight="sql"]
    @Zeit = Convert(Convert(@Datum,SQL_VARCHAR)+ ' ' + Convert(@Uhrzeit,SQL _VARCHAR), SQL_TIMESTAMP);
    [/highlight]


    Thomas
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Danke!!!

      Hallo Thomas,

      manchmal steht man einfach nur auf der Leitung! Dein Vorschlag funktioniert. Danke für den Tip!

      Ludwig

      Comment


      • #4
        Thomas hat recht, man muss den Weg über die Txt-Konvertierung gehen. Zwei echte Zeitstempel miteinander addieren ist immer etwas kritisch, auch wenn man den einen Teil nur als Zeit und den anderen nur als Datum hat. Daher wurde diese Option erst gar nicht implementiert. Die Funktion TimestampAdd kann auch nur auf einen Zeitstempel einen bestimmten Wert addieren (Tag, Stunde, Minute, ...), nicht aber einen Timestamp.
        Wenn du das öfters brauchst, verpacke das in eine UDF

        Comment

        Working...
        X