Calcdate auf T-SQL Basis

8. Juni 2015 21:30

Hallo Zusammen,


im Forum bin ich leider auf keinen Artikel gestoßen, der mir weiterhilft.
Mein eigener Ansatz lässt auch zu wünschen übrig und hat mich schon mehrere Stunden gekostet.
Vielleicht hat Jemand den selben Gedanken schon gehabt und auch eventuell gelöst.

Ich möchte für unsere BI-Lösung ein Datenmodell erstellen und benötige dafür einige Daten-Felder (Dateformula).
Meine Idee ist es, diese nicht in Navision zu berechnen und in jeweils neues Spalten zu schreiben, sondern diese zur Laufzeit über eine SQL-Function auf dem SQL-Server (SQL Server 2008) in T-SQL zu errechnen.

Hat dies Jemand schon versucht und hinbekommen?

Für Tipps und Unterstützung wäre ich sehr dankbar!

Mit Besten Grüßen
Andreas

Re: Calcdate auf T-SQL Basis

11. Juni 2015 14:16

meinst du sowas wie GETDATE?

https://msdn.microsoft.com/de-de/library/ms188383.aspx

Re: Calcdate auf T-SQL Basis

29. Juni 2015 09:09

Der NAV Datentyp "DateFormula" ist in SQL Server varchar/nvarchar und könnte ggf. so aufgelöst werden:

Code:
SELECT
  [MyDateFormula (Text)] =
    REPLACE(
      REPLACE(
        REPLACE(
          REPLACE(
            REPLACE(
              REPLACE([MyDateFormula],
            CHAR(7), 'Y'), -- Year
          CHAR(6), 'Q'), -- Quarter
        CHAR(5), 'M'), -- Month
      CHAR(4), 'W'), -- Week
    CHAR(2), 'D'), -- Day
  CHAR(1), 'C') -- Current
FROM [CRONUS$Record]

Wobei [MyDateFormula] das "DateFormula" Feld aus der NAV Tabelle [CRONUS$Record] ist.