[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
-,

関連記事

C# OracleDbAccessを使用して、SQL実行時にORA-00911 文字が無効です のエラー

表題のとおり、C#でOracleDbAccessを使用して、SQLを実行させる時に発生しました。 ネットで探すと、 全角スペースが原因 とか出てきたので、SQL内のスペースを全て半角スペースに置き換え …

[C#]リストをカンマ区切りの文字列で出力する

リストの項目をカンマ区切りで出力したい 卵が先か鶏が先か~って話じゃないんですが、リストで出力した内容をカンマ区切りのデータにする必要が出てきたので、調べました。 List<string> …

Oracleで複数レコードを更新する方法

UPDATE文で、複数のレコードを一回のトランザクション内で更新する必要に迫られました。 基本的に、今まで使ってきたUPDATE文では、 UPDATE tableA set COL1 = 1 ,COL …

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

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

何度だって引っかかるORACLEのエラー・・・。ORA-01008:バインドされていない変数があります。

今日も今日とて、ORA-01008のエラーに悩まされる。 無慈悲に「バインドされていない変数があります。」ってメッセージは出してくれるんだけど、ビンゴの位置は教えてくれないわけで・・・ 何度目だろう・ …


カテゴリー