Pchełki SQL: czasowe palindromy

https://xpil.eu/pJx0Z

22 stycznia 2015 roku, dzień, w którym zacząłem pisać ten wpis, to data bardzo  specjalna dla wszystkich numeryków interesujących się chociaż trochę językiem SQL.

Hm.

Numeryków znam niezbyt wielu. Wśród nich jeszcze mniej zna się na SQL-u.

Hm.

Korekta: 22 stycznia jest datą tak samo nudną jak każda inna. No chyba, że mówimy o garstce dziwadeł, które potrafią policzyć do dwudziestu bez zdejmowania butów.

O sssso chozzzi? Chozzzzi o palindromy. A konkretnie o jeden palindrom. 42024 - tyle dni upłynęło od daty 31 grudnia 1899 roku, czyli Dnia Zero (w ujęciu MS SQL Server), do dnia 22 stycznia 2015 roku.

Jak to sprawdzić?

Prosto:

SELECT DATEDIFF(d, 0, '22-Jan-2015')

Wynik: 42024.

Następna taka data będzie...

SELECT DATEADD(d, 100, '22-Jan-2015')

... drugiego maja 2015, sto dni później. I potem znów za sto dni, i tak dalej aż do 10 lipca 2017 roku, kiedy to ilość dni od Dnia Zero wyniesie 42924. A co potem?

No a potem 42 zamieni się na 43 i pierwszy palidrom to 43034, czyli 28 października 2017 roku.

A co z godzinami?

Ech, niestety, przegapiłem jakże ważną godzinę szóstą rano 29 grudnia zeszłego roku, kiedy to ilość godzin od Godziny Zero wynosiła 1008001. Następna taka okazja nastąpi jednak już wkrócte - ósmego lutego o godzinie 22:00 od Godziny Zero upłynie doładnie 1009001 godzin. Trzeba będzie się z tej okazji napić.

Hm. Idąc za ciosem, następne są minuty. Sprawdźmy jak to wygląda. Najbliższy palindrom minut upłynie jutro o godzinie 12:32. Dokładnie o 12:32 ilość minut, jaka upłynie od Minuty Zero, wyniesie wówczas 60522506.

Sekundy policzę kiedy indziej. Za szybko uciekają, a poza tym są trudniejsze do obsłużenia na MS SQL 2008 (taką wersję mam chwilowo pod ręką), bo tam typ danych zwracanych przez funkcję GETDATE() jest za mały (granica to około 2 miliardy sekund), żeby to w prosty sposób policzyć.

Biorąc pod uwagę moje niedawne zmagania z potęgami dwójki, nie powinno być problemu z policzeniem tego w Pythonie. Przewiduję narodziny świeżej Pchełki lada dzień.

Tymczasem po leniwym weekendzie nadszedł pracowity poniedziałek, a więc, wiadomo, rękawice, płyn do zmywarki i jedziemy...

https://xpil.eu/pJx0Z

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.