システム開発ブログ

【Oracle】n分後の値を取得する

青木

青木 (2010年9月 9日 15:24)
産業システム部 / Oracle

みなさん、こんにちは。
産業システム部の青木です。

今回は、n分後の値を取得するFunctionをPL/SQLで作成してみました。

●引数と戻り値がyyyymmddhh24miss形式の数値型である場合
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;
/

単純に日付型に数値を足すと日数として足されてしまいますので、
1440で割った値を足すことがポイントです。 ※1440分 = 1日

今回は引数と戻り値に数値型を使用していますが、
文字列型でも日付型でももちろん可能です。

システムのトラブル解決を承ります。すぐにシステムリフォームを体験できますシステム診断・システムリフォームのお申し込みはこちらから。

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

ページのトップ