Announcement

Collapse
No announcement yet.

Datumsberechnung mit LocalSQL

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

  • Datumsberechnung mit LocalSQL

    Hallo,

    ich habe eine Paradox-Tabelle mit u.a. den Feldern

    Letztes_Datum (Date)
    und Interval_Monate (Integer)

    Jetzt muß mittels Local-SQL ein neues Datum berechnen :

    Letztes_Datum + Interval_Monate

    z.Bsp. 12.1.2005 + 12 Monate = 12.1.2006

    Wobei der Tag eigentlich nicht interessant ist d.h. als Ergebnis brauche ich dann 01.2006

  • #2
    Hi, also wenn du vorher einen Wert berechnen kannst und danach SQL ausführst dann sollte das ganze so gehn.

    var Date : TDateTime
    myNewDate : TDateTime
    myDay, myMonth, myYear : Word;

    Erst weißt du Date dein aktuelles Datum zu dann schlüsselst du es auf und addierst jeden beliebigen Wert.

    DecodeDate(Date,myYear,myMonth,myDay);
    myMonth := myMonth + 12; //oder beliebiger Wert

    Dann machst du

    myNewDate := EncodeDate(myYear,myMonth,myDay);

    Nun musst du nur noch über ein Update per SQL den Wert schreiben.

    BYE
    Chri

    Comment


    • #3
      Ich hab das hier in der Hilfe zu LocalSQL gefunden:
      .
      SELECT SaleDate,
      EXTRACT(YEAR FROM saledate) AS YY,
      EXTRACT(MONTH FROM saledate) AS MM,
      EXTRACT(DAY FROM saledate) AS DD
      FROM Orders
      .
      Das Problem ist, dass MONTH größer als 12 werden kann, wenn Du da etwas hinzuaddierst...
      .
      Allerdings wird der Datumswert doch als float gespeichert. Der Wert vor dem Komma ist die Anzahl der vergangenen Tage, seit dem 31.12.1899.
      Wenn Dir der Tag nicht wichtig ist, könntest Du es so versuchen:
      .
      SELECT
      Letztes_Datum + (Interval_Monate * 12) AS Neues_Datum
      FROM ...
      .
      Ich habs allerdings nicht ausprobiert.
      .
      Grüße Joche

      Comment

      Working...
      X