[ORACLE]指定日付の月末を取得する

投稿日:

LAST_DAYで月末を取得する

LAST_DAYを使います。

実際、仕様で、ある項目には月末を入力させるとか、翌月1日を指定するとかいうのが指定されたりします。

細かく計算してると正直面倒くさいですが、このLAST_DAYを使えば、28日だの30日だの31日だのを月を考慮する必要なく返してくれるので便利。

更に、うるう年もちゃんと29日と返してくれる。

使ってみる

例えば、今月末を取得したかったら、

select last_day(sysdate)  as last_day
from dual;

実行結果はこうなる。

うるう年も、

select last_day(to_date('2020/02/28')) as last_day
from dual;

この通り。

自動で計算してくれる。

翌月1日を取得したかったら、「+1」してやれば良い。

select last_day(to_date('2020/02/28')) + 1  as last_day
from dual;

実行結果はこうなる。

簡単でよい。


							







-ORACLE
-,

関連記事

ORACLEでORA-01861: リテラルが書式文字列と一致しません

ORA-01861: リテラルが書式文字列と一致しません このエラー、ぶっちゃけ、意味が分からないところでもある。 日付の指定時に発生してて、原因が判明するまでに結構回り道をしました。 ネットで検索し …

C#で発生するORA-01036:illegal variable name/numberのエラーの解決法

毎度毎度、原因の分かりづらいエラーにハマりますw 今回は、「ORA-01036:illegal variable name/number」。 日本語に直訳された内容だと「変数の名前/数が無効です」とな …

OracleでLISTAGG関数を使ったけど、世界を変えられなかった話・・・

OracleでLISTAGG関数を使ったら、世界が変わった話。 はい、休日出勤でした。 そして、休日出勤の結果、以下のことが分かりました(泣 日本の中心付近で仕様変更と闘うSE日記OracleでLIS …

ORACLEでTO_CHARを使用し、カンマ区切りデータを出力する

帳票出力を行うPGで困った。 数値形式のデータのため、カンマ区切りで表示したいんだけど、テンプレートの制約のせいで上手く行かなくて時の解決方法。 帳票のテンプレートとなるファイルのセルは文字列形式。 …

[ORACLE]多分、例外的なora-00911:文字が無効ですエラーの解決方法

多分、このエラーを目にする機会はそれなりにあって、大体の対処法はググればすぐに見つかると思う。 例えば、 SQL実行時にはOKなのに、C#のOracleDbAccess実行時にエラーになる 全角スペー …


カテゴリー