Date型を指定した単位で切り捨てるには、TRUNC関数を使用します。
サンプル
例)Date型日付を月単位で切り捨てるサンプル
1 2 3 4 5 |
SELECT TRUNC(TO_DATE('2017/11/15'), 'mm') FROM dual; ⇒ 2017/11/01 SELECT ROUND(TO_DATE('2017/11/30'), 'mm') FROM dual; ⇒ 2017/11/01 |
フォーマットは以下のようなものが指定できます。
mm | 月 |
---|---|
dd | 日(デフォルト) |
hh | 時 |
mi | 分 |
ss | 秒 |
解説
- フォーマットを省略すると、日単位で四捨五入されます。
- フォーマットに「yyyy/mm」等、単一の単位でないフォーマットを指定すると以下のエラーが発生します。
「ORA01898:精度指定子が多すぎます」 - 指定した単位で四捨五入したい場合は、ROUNDを使用します。
⇒ Date型を指定した単位で四捨五入する(round)