【PostgreSQL-0004】PostgreSQLで月初と月末の日付を計算する

月初の日付を求める

SELECT DATE_TRUNC('month', now())

 now()を使って現在の日付を取得し、現在の日付から月初の日付を取得する事ができます。


  上記の方法をもとに、次にiDempiereのデフォルトロジックで、ログイン日付の月初の日付を設定する方法を紹介します。

@SQL=SELECT DATE_TRUNC('month', TO_DATE('@#Date@', 'YYYY-MM-DD'))

 iDempiereの日付けのデフォルトロジックで「@SQL= SELECT DATE_TRUNC('month', TO_DATE('@#Date@', 'YYYY-MM-DD'))」とすると、ログイン日付の月初の日付を代入する事ができます。

月末の日付を求める

SELECT DATE_TRUNC('month', now()) + '1 month' +'-1 Day'

 now()を使って現在の日付を取得し、DATE_TRUNC()関数で月初にし、月初に1ヶ月足して1日引く事で月末を求めています。

 

  上記の方法をもとに、次にiDempiereのデフォルトロジックで、ログイン日付の月末の日付を設定する方法を紹介します。

@SQL= SELECT DATE_TRUNC('month', TO_DATE('@#Date@', 'YYYY-MM-DD')) + CAST('1 month' AS INTERVAL)-1

 iDempiereの日付けのデフォルトロジックで「@SQL= SELECT DATE_TRUNC('month', TO_DATE('@#Date@', 'YYYY-MM-DD')) + CAST('1 month' AS INTERVAL)-1」とすると、ログイン日付の月末の日付を代入する事ができます。