Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

MySQL: Rok przestępny

czwartek,

MySQL: Rok przestępny

Prezentowane zapytanie jest zgodne z MySQL i MariaDB, ale nie jest uniwersalne dla innych popularnych systemów DBMS. Problematyczny fragment to SET @year = 2024 – typowy dla MySQL sposób ustawienia zmiennej lokalnej w sesji. W przypadku innych systemów należy używać odpowiednich mechanizmów i składni, które są dla nich przeznaczone.

W języku SQL można sprawdzić, czy dany rok jest przestępny, wykorzystując logikę, która definiuje lata przestępne. Rok jest przestępny, jeśli jest podzielny przez 4, ale nie jest podzielny przez 100, chyba że jest również podzielny przez 400. Pamiętaj, żeby dostosować zmienną @year do swojego zapytania lub kontekstu, w którym chcesz sprawdzić rok.

Aby sprawdzić powyższe warunki, możesz użyć instrukcji CASE. Poniżej znajduje się przykładowe zapytanie, które zwraca wartość True jeśli podany rok (zmienna @year) jest rokiem przestępnym, a False w przeciwnym przypadku:

SET @year  = 2024; -- Przykładowy rok, który chcesz sprawdzić

SELECT
CASE
    WHEN (@year % 4 = 0 AND @year % 100 != 0) OR @year % 400 = 0 THEN 'True'
    ELSE 'False'
END AS IsLeapYear;

W tym skrypcie:

  • @year % 4 = 0 sprawdza, czy rok jest podzielny przez 4.
  • @year % 100 != 0 sprawdza, czy rok nie jest podzielny przez 100.
  • @year % 400 = 0 sprawdza, czy rok jest podzielny przez 400.

Warunki są połączone logicznie tak, aby odzwierciedlać reguły określające lata przestępne. CASE zwróci True, jeśli rok spełnia kryteria roku przestępnego, w przeciwnym razie False.

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Artykuł: Lenovo

Lenovo

Artykuł: Światowy Dzień Oszczędzania

Światowy Dzień Oszczędzania

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły