CREATE OR REPLACE FUNCTION YmdHms_AddMinutes (
ymdhms IN NUMBER
, minutes IN NUMBER
) RETURN NUMBER IS
BEGIN
-- パラメータのチェックは省略します。
-- TO_DATEでエラーが返されるかなどによりチェックをして下さい。
RETURN TO_NUMBER(TO_CHAR(TO_DATE(ymdhms, 'YYYYMMDDHH24MISS') + (minutes / 1440), 'YYYYMMDDHH24MISS'));
END;
/
●引数と戻り値がhh24miss形式の数値型である場合
CREATE OR REPLACE FUNCTION Hms_AddMinutes (
hms IN NUMBER
, minutes IN NUMBER
) RETURN NUMBER IS
BEGIN
-- パラメータのチェックは省略します。
-- TO_DATEでエラーが返されるかなどによりチェックをして下さい。
RETURN TO_NUMBER(TO_CHAR(TO_DATE(hms, 'HH24MISS') + (minutes / 1440), 'HH24MISS'));
END;
/
【Oracle】n分後の値を取得する
青木 (2010年9月 9日 15:24)
産業システム部 / Oracle
産業システム部の青木です。
今回は、n分後の値を取得するFunctionをPL/SQLで作成してみました。
●引数と戻り値がyyyymmddhh24miss形式の数値型である場合
●引数と戻り値がhh24miss形式の数値型である場合
単純に日付型に数値を足すと日数として足されてしまいますので、
1440で割った値を足すことがポイントです。 ※1440分 = 1日
今回は引数と戻り値に数値型を使用していますが、
文字列型でも日付型でももちろん可能です。