-PR-
解決済み

postgresの関数内で変数からの時間の足し算

  • すぐに回答を!
  • 質問No.9307783
  • 閲覧数143
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 90% (19/21)

postgresの関数内で変数からの時間の足し算の仕方を教えてください。


DECLARE
result timestamp with time zone;
l_minuteinteger := 15;
BEGIN
result := current_timestamp + '15 minute';
RETURN result;
END;


このように
直接「 + '15 minute'」を足す方法は分かるのですが、
例えば、上記のユーザー変数l_minuteを使っての足し算がの仕方が分かりません。
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル5

ベストアンサー率 100% (2/2)

以下の形で実現できると思います。

result := current_timestamp + '15 minute';

SELECT current_timestamp + CAST( l_minuteinteger || ' minute' AS interval ) INTO result;
お礼コメント
questorfe

お礼率 90% (19/21)

有難うございます。

'15 minute' この部分は文字列ではなくて、intervalという名の時刻計算用の特殊属性なのですね。
やっと意味が分かってきました。

分割してみたらスッキリ理解できました。

l_minute_num integer := 15;
l_minute_itv interval := CAST( l_minute_num || ' minute' AS interval );

result := current_timestamp + l_minute_itv;

値のセットの方法はあんまり関係なさそうです。
投稿日時 - 2017-03-21 16:51:20
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

-PR-

ピックアップ

-PR-
ページ先頭へ