月の最終日を求める関数

PostgreSQL 7.4 時代に作った関数。

Oracleには同名の関数があるのだけど、PostgreSQLにはないようだったので、作成した。

CREATE FUNCTION LAST_DAY(DATE) RETURNS DATE AS
'SELECT date(substr(text($1 + interval ''1 month'' ),1,7)||''-01'')-1'
LANGUAGE 'sql';

使い方は、引数にDATE型の値をいれるだけ。
戻り値は、DATE型。

やってることとしては、引数の値を1ヶ月進め、その年月日の1日に整形し、1日を減算するだけ。

最終日のチェックをするときなんかに利用している。

PostgreSQL 8.1でも使ってます。
カテゴリ:

関連する記事

この記事に関連する記事は、0 件です。

トラックバック

このブログ記事に対するトラックバックURL
http://fakelife.info/mt/system/mt-tb.cgi/11

コメントする


画像の中に見える文字を入力してください。