Dawne oprogramowanie jeszcze firmy Wapro było pisane pod system DOS-owy. Data wówczas była zapisana w tabelach w formacie zjadliwym dla człowieka (rok,miesiąc.dzień). Dziś z punktu łatwiejszego (szybszego) przetwarzania informacji przez silnik SQL firmy Microsoft data w produktach firmy Asseco Bisness Solution, ale też i INSERT, i innych występuje w formacie liczby, np. 79115. Ta liczba reprezentuje datę 2017-08-07. Okazuje się by dojść do systemu jej tworzenia wystarczy zauważyć pewną analogię do szyfru Juliusza Cezara. Zakładamy, że datą startową jest 1800-12-28, a przesunięcie liczymy na zasadzie ile dni minęło od niej do dnia nas interesującego, np.2017-08-07, czyli otrzymamy 79115. W zapisie informatycznym możemy to zawrzeć w następującej komendzie:
Date (1800,12,28)+{ROZRACHUNEK.DATA_DOK}
gdzie {ROZRACHUNEK.DATA_DOK} odwołuje się do tabeli ROZRACHUNEK kolumny DATA_DOK bazy danych Wf-Fakira i akurat zawiera liczbę 79115, czyli dostajemy datę 2017-08-07
Po przyzwyczajeniu się do powyższej konotacji przetwarzanie danych staje się faktycznie deklaratywne. By nie być gołosłownym obliczenie ile dni minęło od terminu zapłaty do rozliczenia faktycznego rozrachunku można zawrzeć w następującym poleceniu:
{ROZRACHUNEK.DATA_OST_ROZL}-{ROZRACHUNEK.TERMIN_PLATNOSCI}
według mnie prościej się już nie da. By dojść natomiast do informacji ile minęło czasu od daty wystawienia dokumentu do dnia dzisiejszego wydamy komendę w postaci:
CurrentDate - Date (1800,12,28)-{ROZRACHUNEK.DATA_DOK}
albo od terminu płatności:
CurrentDate-Date (1800,12,28)-{ROZRACHUNEK.TERMIN_PLATNOSCI}
Konotacja się trochę komplikuje, ale niewiele.:-) Opracowanie własne na podstawie grupy dyskusyjnej: http://pl.comp.bazy-danych.narkive.com/arOMADVd/data-w-bazie-danych-w-postaci-liczby