[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]IMPコマンドで、複数テーブルをインポートする

OracleでIMPコマンドでdumpファイルをインポートする時に、特定のテーブルだけインポートしたい時ってある。 後は、複数のテーブルを纏めてインポートする方法を説明します。 Oracleを使ってる …

ORACLEのMERGE INTOで、UPDATEは出来るのに、INSERTできない

最近、Oracleのエラーの話しか書いてない気がするw     便利というか、トランザクション内の処理も1つで済むので、MERGE INTO文を使うことがあります。 実際、 新規デ …

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

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

[ORACLE]ORA-00918:列の定義が未確定です・・・のエラーにならなかった

なんでエラーになるものをマージしてるんだ? と、怒られました。 一瞬、理解が出来ず・・・ で、エラーを再現してもらう・・・と。 あっさり発生。 早く修正しろって突っ返されました。 頭には「?」しか浮か …

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

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


カテゴリー