Blog
Pupilla Libertatis
GPS
GPS Grzegorz P. Świderski
107 obserwujących 1341 notek 1626659 odsłon
GPS, 30 marca 2018 r.

Jak policzyć Wielki Piątek

342 4 1 A A A

Ciężar krzyża długo ważę
Zanim dam do poniesienia.
Nim nagradzam, a nie karzę!
Wszak istotą jest zbawienia!

Praczuk

Składam wszystkim wesołych i pogodnych świąt Zmartwychwstania Chrystusa.

A w prezencie przesyłam funkcję w SQL, którą możecie sobie policzyć kiedy wypada Wielki Piątek:

CREATE FUNCTION dbo.Wielkanoc(@rok As Int)
/* SELECT
       dbo.Wielkanoc(a.x + b.x) as Wielki_Piatek
FROM
       (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) as a(x)
       CROSS JOIN
       (VALUES (33),(1405),(2010),(2020),(2030)) as b(x)
ORDER BY
       Wielki_Piatek
*/

RETURNS date
BEGIN
    DECLARE @a int, @b int, @c int, @d int, @miesiac int, @dzien int  
       IF @rok < 32 --Wtedy nie było Wielkanocy!
        SELECT
                    @dzien = 0,
                    @miesiac = 0
       ELSE IF @rok between 33 and 1582 --Metoda Gaussa dla kalendarza juliańskiego
       BEGIN
             SET @a = (@rok % 19 * 19 + 15) % 30
             SET @b = (@rok % 4 * 2 + @rok % 7 * 4 + 6 * @a + 6) % 7     
             IF @a + @b < 10
                    SELECT
                           @dzien = @a + @b + 22,
                           @miesiac = 3
        ELSE
                    SELECT
                           @dzien = @a + @b - 9,
                           @miesiac = 4
       END
       ELSE --Metoda Meeusa/Jonesa/Butchera dla kalendarza gregoriańskiego
       BEGIN
             SET @a = (@rok % 19 * 19 + @rok / 100 - @rok / 100 / 4 - ((@rok / 100 - (@rok / 100 + 8) / 25 + 1) / 3) + 15) % 30
             SET @b = (32 + @rok / 100 % 4 * 2 + @rok % 100 / 4 * 2 - @a - @rok % 100 % 4) % 7
             SET @c = (@rok % 19 + 11 * @a + 22 * @b) / 451
             SET @d = @a + @b - 7 * @c + 114
             SET @dzien = @d % 31 + 1
        SET @miesiac = @d / 31
       END
    RETURN dateadd(day,-2,DATEFROMPARTS(@rok, @miesiac, @dzien))
END

Grzegorz GPS Świderski

Buty  <- poprzednia notka
następna notka -> Kto układa scenariusze?

Tagi: gps65, Wielki Piątek

Opublikowano: 30.03.2018 20:32. Ostatnia aktualizacja: 31.03.2018 17:49.
Autor: GPS
Skomentuj Obserwuj notkę Napisz notkę Zgłoś nadużycie
NEWSY - TOP 5

O mnie

Jestem skrajnie konserwatywnym arcyliberałem, Sarmatą, żeglarzem, paleolibertarianinem, katolikiem, informatykiem, trajkarzem i monarchistą.


Mój e-mail: gps65(szympans)interia.eu

By wyszukać moje notki należy w guglu wpisać słowo kluczowe "gps65" i dowolną frazę dotyczącą kwestii, którą być może kiedyś poruszałem


Zgadzam się na dowolne rozpowszechnianie, publikowanie, kopiowanie, przeinaczanie i wykorzystanie moich notek, ale proszę przy rozpowszechnianiu, czy publikowaniu w innych miejscach, dołączać na końcu link do oryginalnej strony, z której notka została skopiowana.


Proszę nie zamieszczać w komentarzach pod moimi notkami filmów czy obrazków lub długich tekstów przekopiowanych z innych miejsc, bo to niepotrzebnie obciąża stronę. Traktuję to jako spam. Zamiast tego proszę wstawiać odnośniki do źródła informacji. Polecam tworzenie notek blogowych i gdy są na temat to umieszczanie u mnie linków do nich. Zachęcam do dyskusji merytorycznej. Osoby niegrzeczne wypraszam, a jak to nie poskutkuje blokuję.


Ostatnie notki

Obserwowane blogi

Najpopularniejsze notki

Ostatnie komentarze

  • @czerepoch "wszelka pomoc w której brakuje serca, jest nic nie warta" Powiem więcej: wszelka...
  • @Adam1952  "W wojsku podstawowym zadaniem przełożonych jest wyeliminowanie u żołnierza...
  • No to na zakończenie moje uzupełnienie. Napisałem dokładnie o tym samym, ale kompletnie...

Tematy w dziale Technologie