当月末の日付を問い合わせる


SQL文
SELECT TO_CHAR((
               SELECT CAST((
	            SELECT TO_CHAR((
	       		SELECT CAST(current_timestamp AS DATE)
                                 + CAST('1 month' AS INTERVAL)),'YYYYMM')
                          || '01'  AS DATE) AS DATE)
                          - CAST('1 DAY' AS INTERVAL)
      ),'YYYY/MM/DD') AS LAST_DATE


解説
方法
 1.システム日付の当日を問い合わせする。
 2.当日の一ヶ月後が何年何月か問い合わせした結果の末尾に「01」という文字を結合し、
  「来月の第一日」という内容に成形する。
 3.来月の第一日より一日を引いた日付が何日かを問い合わせる
 4.3の問い合わせ結果には時間が入っているので、「YYYY/MM/DD」に成形する。

 これで当月末日が何日であるかを問い合わせる事ができました。

 ※動作確認環境:PostgreSQL 8.2.4















最終更新:2008年05月09日 16:32