Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Calendar table sql script Firebird 3 (https://www.delphipraxis.net/202105-calendar-table-sql-script-firebird-3-a.html)

hoika 30. Sep 2019 19:15

AW: Calendar table sql script Firebird 3
 
Hallo,
Einspruch ist doch mein Spruch :)

Gandimann 1. Okt 2019 01:24

AW: Calendar table sql script Firebird 3
 
Mein Ziel ist so eine Tabelle mit script generieren und mit entsprechende Daten zu befüllen:
Z.B : Ab 01.01.2020 bis 31.12.2050 ( es ist klar es gibt auch bewegliche Feiertage die werde ich anders regeln)

/
SQL-Code:
/ If not exists then create it



CREATE TABLE Dates_ready
(
  DateKey            BIGINT        NOT NULL PRIMARY KEY,
  [Date]             DATE       NOT NULL,
  [Day]              INT    NOT NULL,
  DaySuffix          VARCHAR(3) NOT NULL,
  [Weekday]          INT        NOT NULL,
  WeekDayName        VARCHAR(10) NOT NULL,
  IsWeekend          INT        NOT NULL,
  IsHoliday          INT        NOT NULL,
  HolidayText        VARCHAR(64) NOT NULL,
  DOWInMonth         INT        NOT NULL,
  [DayOfYear]        INT        NOT NULL,
  WeekOfMonth        INT        NOT NULL,
  WeekOfYear         INT        NOT NULL,
  ISOWeekOfYear      INT        NOT NULL,
  [Month]            INT        NOT NULL,
  [MonthName]        VARCHAR(10) NOT NULL,
  [Quarter]          INT        NOT NULL,
  QuarterName        VARCHAR(6) NOT NULL,
  [Year]             INT        NOT NULL,
  MMYYYY             VARCHAR(6) NOT NULL,
  MonthYear          VARCHAR(7) NOT NULL,
  FirstDayOfMonth    DATE       NOT NULL,
  LastDayOfMonth     DATE       NOT NULL,
  FirstDayOfQuarter  DATE       NOT NULL,
  LastDayOfQuarter   DATE       NOT NULL,
  FirstDayOfYear     DATE       NOT NULL,
  LastDayOfYear      DATE       NOT NULL,
  FirstDayOfNextMonth DATE       NOT NULL,
  FirstDayOfNextYear DATE       NOT NULL
);

hoika 1. Okt 2019 04:12

AW: Calendar table sql script Firebird 3
 
Hallo,
dazu brauchst Du nur eine normale Query.

Lemmy 1. Okt 2019 04:45

AW: Calendar table sql script Firebird 3
 
Zitat:

Zitat von Gandimann (Beitrag 1448573)
[COLOR="Black"][COLOR="Black"]Mein Ziel ist so eine Tabelle mit script generieren und mit entsprechende Daten zu befüllen:
Z.B : Ab 01.01.2020 bis 31.12.2050 ( es ist klar es gibt auch bewegliche Feiertage die werde ich anders regeln)

Tabelle in DB anlegen und ein kleines Programm schreiben, das diese mit Leben füllt und anschließend exportieren, oder direkt das insert-Script erzeugt.

Und bist Du sicher, dass die Struktur so Sinn macht?
Zitat:

FirstDayOfYear DATE NOT NULL,
LastDayOfYear DATE NOT NULL,

Gandimann 1. Okt 2019 04:54

AW: Calendar table sql script Firebird 3
 
Thanx für Hilfe.
Das Problem: ich möchte gern , dass tägliches Datum ab 01.01.20 bis 31.12.50 im Column "Date" bereits steht. 01.01.2020,02.01.2020,03.01.2020....bis 31.12.2050 und "WeekOfYear" auch 01 bis 52 bereits drin steht.
Jeweils ein Datensatz (per Row)

mkinzler 1. Okt 2019 05:02

AW: Calendar table sql script Firebird 3
 
Dies scheint mit wenig sinnvoll, da die Daten sich einfach berechnen lassen. Zudem gibt es fertige Kalenderkomponenten, welche dies schon machen.

ConstantGardener 1. Okt 2019 05:29

AW: Calendar table sql script Firebird 3
 
...naja kommt drauf an. Wenn du das zum joinen mit anderen Tabellen nutzt kann es schon einiges erleichtern. Ich würde die beweglichen Feiertage allerdings dann auch gleich in die Tabelle schreiben.

Lemmy 1. Okt 2019 05:29

AW: Calendar table sql script Firebird 3
 
Zitat:

Zitat von Gandimann (Beitrag 1448590)
Thanx für Hilfe.
Das Problem: ich möchte gern , dass tägliches Datum ab 01.01.20 bis 31.12.50 im Column "Date" bereits steht. 01.01.2020,02.01.2020,03.01.2020....bis 31.12.2050 und "WeekOfYear" auch 01 bis 52 bereits drin steht.
Jeweils ein Datensatz (per Row)

das ist mir klar. Daher: Programm schreiben und die Daten füllen, script exportieren fertig. Alternativ das Script von Hand schreiben (wird wohl eher nicht das Ziel sein). Per StoredProcedure und co dürfte das recht aufwändig sein. Und Rest:

Zitat:

Zitat von mkinzler (Beitrag 1448591)
Dies scheint mit wenig sinnvoll, da die Daten sich einfach berechnen lassen. Zudem gibt es fertige Kalenderkomponenten, welche dies schon machen.

FÜr eine sinnvolle Anwendung sehe ich ebenfalls keinen Sinn, schon gar nicht für einen Dienstplan.

p80286 1. Okt 2019 08:42

AW: Calendar table sql script Firebird 3
 
Zuerst: Der Plural von Mopp ist Mopps

Dann Du solltest Deine Tabelle zunächst normalisieren. Also z.B. die Monatsnamen in eine eigene Tabelle auslagern.

Weiterhin wo konkret liegt das Problem ein für Firebird verständliches Script zu erstellen? Fehlt Dir die entsprechende Dokumentation?

Und Du solltest dir wirklich Gedanken über den Sinn der enthaltenen Daten machen.

Gruß
K-H

mkinzler 1. Okt 2019 08:50

AW: Calendar table sql script Firebird 3
 
Monatsnamen haben aber nichts in der Datenbank verloren. Man kann in diesem Fall auf Normalisierung verzichten.
Wie gesagt sind dass aber alles Informationen, die berechnet werden können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz