ある年が閏年かどうかを PL/SQL でチェックする。

閏年かどうかを調べる PL/SQL プログラムを次に示します。

DECLARE
year_number NUMBER;
is_leap_year BOOLEAN := FALSE;
BEGIN
-- 提示用户输入年份
year_number := &year_number;
-- 判断闰年的条件:
-- 1. 能被4整除,但不能被100整除;
-- 2. 能被400整除。
IF (MOD(year_number, 4) = 0 AND MOD(year_number, 100) != 0) OR MOD(year_number, 400) = 0 THEN
is_leap_year := TRUE;
END IF;
-- 输出结果
IF is_leap_year THEN
DBMS_OUTPUT.PUT_LINE(year_number || '是闰年');
ELSE
DBMS_OUTPUT.PUT_LINE(year_number || '不是闰年');
END IF;
END;

このプログラムではまず、ユーザーに年を入力してもらいます。次に閏年の定義に基づいて、その年が閏年かどうかを判定します。入力された年が閏年であれば、is_leap_yearフラグをTRUEに、そうでなければFALSEに設定します。最後に、is_leap_yearの値に基づいて結果を出力します。

このプログラムを実行するには、PL/SQL 開発ツールで出力を有効にする必要があります(SQL Developer の場合、「View -> Dbms Output」をオンにします)。

bannerAds