Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Kiểm tra năm nhuận trong PL/SQL

Trong PL/SQL (Oracle), bạn có thể kiểm tra năm nhuận bằng cấu trúc IF-THEN-ELSE với hàm MOD().

Thuật toán năm nhuận

isLeapYear(year):
    if year chia hết cho 4 và KHÔNG chia hết cho 100 → năm nhuận
    else if year chia hết cho 400 → năm nhuận
    else → KHÔNG phải năm nhuận

Ví dụ PL/SQL

DECLARE 
    year NUMBER := 2012; 
BEGIN 
    IF MOD(year, 4) = 0 
        AND MOD(year, 100) != 0 
        OR MOD(year, 400) = 0 THEN 
        dbms_output.Put_line(year || ' is leap year '); 
    ELSE 
        dbms_output.Put_line(year || ' is not leap year.'); 
    END IF; 
END;

Kết quả

2012 is leap year

Giải thích:

  • MOD(year, 4) = 0: Chia hết cho 4
  • MOD(year, 100) != 0: KHÔNG chia hết cho 100 (loại trừ năm tròn thế kỷ không nhuận như 1900, 2100)
  • MOD(year, 400) = 0: Chia hết cho 400 (những năm tròn thế kỷ nhuận như 2000, 2400)
  • Logic: (chia_h_4 AND khong_chia_h_100) OR chia_h_400

Lưu ý: Đây là cú pháp PL/SQL (Oracle), không chạy được trên MySQL. Trong MySQL, bạn có thể dùng hàm YEAR() và logic tương tự trong stored procedure hoặc ứng dụng.