Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.431 Beiträge
 
Delphi 7 Professional
 
#2

AW: Tabellenfeld DATE Problem (BC, nur Jahreszahl..)

  Alt 10. Apr 2021, 09:54
Ganz einfach: Wenn es kein Datum gibt, kann man es nicht als Datum speichern.

Alternative ist also dann doch wieder der String. Ist es ein vollständiges Datum dann ist das so, ist es nur eine Jahreszahl, dann ist das auch so.

Schwierig wird es, wenn man dann auch noch danach sortieren will. Dann wird es eher strubbelig.

Man könnte also hergehen und das Datum einfach so, wie es ist, als String speichern und zusätzlich noch ein "künstliches" Datum generieren, was man ebenfalls (in einem zweiten Feld vom Typ Integer) speichert, dabei erhalten die Autoren vor dem Jahr Null einen negativen Wert.

Dort baut man sich dann ein passendes Datum zusammen, z. B. sowas:
AutorDatumSortierdatumVorChristi
Ernst Jünger29.03.1895189503290
Pythagoras570-057000001
Jacob Abbott1803180300000

Sortieren könnte man dann in der Art: select Autor, Datum from tabelle order by Sortierdatum, Autor Damit hätte man dann alle Autoren aufsteigend nach Datum vom "Anbeginn der Zeit" bis in die "unabsehbare Zukunft" sortiert. Die Autoren, die über kein vollständiges Datum verfügen, befinden sich dabei immer am Anfang der Autoren eines Jahres. Möchte man diese an das Jahresende "verbannen" dann muss man halt die vier Nullen, die momentan den Jahresanfang "symbolisieren", durch z. B. vier Neunen ersetzen. Damit sind sie immer die "Letzten" im entsprechenden Jahr. Vor dem Jahr Null verhält es sich genau umgekehrt.
  Mit Zitat antworten Zitat