LoginSignup
1
0

More than 5 years have passed since last update.

Db2:その月から特定の日を取り出す関数(DAYOFMONTH,FIRST_DAY,DAYS_TO_END_OF_MONTH)

Posted at

Db2 11.1には、日付操作を行う関数についても多くの拡張があり、日付・時刻操作をSQLでより簡単に行えるようになっています。

日付・時刻操作に関して、Oracle, Netteza, PostgreSQL, MySQLなど、他のデータベース製品で使用されるSQLも簡単にDb2環境で実行できるよう、SQLの互換性がより強化されています。

参考(前回までの記事)
Db2:日付,時刻の操作を行う関数(NOW,EXTRACT)
Db2:日付,時刻の操作を行う関数(DATE_PART)
Db2:日付,時刻の操作を行う関数(DATE_TRUNC)

その月から特定の日を取り出す3つの関数

DAYOFMONTH - 日付を表す1から31の整数を戻します
FIRST_DAY - 月の初日を表す日付またはタイム・スタンプを戻します
DAYS_TO_END_OF_MONTH - 月末までの日数を戻します

次のNOW関数は、CURRENT TIMESTAMPを戻しますので、これら3つの関数の計算のベースになります。
Db2のSAMPLEデータベースに接続して、次のSQLを実行します。

VALUES NOW

1
--------------------------
2018-09-07-14.30.58.633000

  1 レコードが選択されました。

DAYOFMONTH関数

DAYOFMONTH 関数は、日付を表す1から31の整数を戻します。

Db2のSAMPLEデータベースに接続して、次のSQLを実行します。

VALUES DAYOFMONTH(NOW)

9月7日のため、7が戻ります。


1
-----------
          7

  1 レコードが選択されました。

FIRST_DAY関数

FIRST_DAY関数を使って、その月の初日を、簡単に取得することができます。

Db2のSAMPLEデータベースに接続して、次のSQLを実行します。

VALUES FIRST_DAY(NOW)

9月1日が戻ります。


1
--------------------------
2018-09-01-14.39.00.542000

  1 レコードが選択されました。

DAYS_TO_END_OF_MONTH関数

最後に、DAYS_TO_END_OF_MONTH関数は、月末までの日数を戻します。
その月の最後の日である場合は、0が戻ります。

Db2のSAMPLEデータベースに接続して、次のSQLを実行します。

VALUES DAYS_TO_END_OF_MONTH(NOW)

今日は9月7日のため、23が戻ります。


1
-----------
         23

  1 レコードが選択されました。


参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0