Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ตรวจสอบปีอธิกสุรทิน (Leap Year) ใน PL/SQL

การตรวจสอบปีอธิกสุรทินด้วย PL/SQL

ใน PL/SQL เราสามารถเขียนบล็อกโค้ดเพื่อตรวจสอบว่าปีใดปีหนึ่งเป็นปีอธิกสุรทินหรือไม่ ตามกฎ:

  • หาร 4 ลงตัว และ ไม่หาร 100 ลงตัว → เป็นปีอธิกสุรทิน
  • หรือ หาร 400 ลงตัว → เป็นปีอธิกสุรทิน
  • กรณีอื่น → ไม่ใช่ปีอธิกสุรทิน

อัลกอริทึม

isLeapYear(year):
BEGIN
    IF year MOD 4 = 0 AND year MOD 100 != 0 THEN
        RETURN 'Leap Year';
    ELSIF year MOD 400 = 0 THEN
        RETURN 'Leap Year';
    ELSE
        RETURN 'Not Leap Year';
    END IF;
END

ตัวอย่างโค้ด 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;

ผลลัพธ์

2012 is leap year

คำอธิบาย

  • MOD(n, m) : หาเศษจากการหาร n ด้วย m
  • DBMS_OUTPUT.PUT_LINE : แสดงข้อความในคอนโซล (ต้องเปิด SERVEROUTPUT ON)
  • ปี 2012 หาร 4 ลงตัว (503) และ หาร 100 เหลือ 12 → เป็นปีอธิกสุรทิน
  • โค้ดนี้รันในสภาพแวดล้อม Oracle Database (PL/SQL) ไม่ใช่ MySQL