2012年3月21日水曜日

OracleのTRUNC関数で週初の日曜日を取得

date型のデータを様々な形で切り捨てするTRUNC関数というのを知りました。

http://www.shift-the-oracle.com/sql/functions/trunc-datetime.html

便利です。
今回使ったのはDAYのフォーマットでの切り捨て。日付を渡すと、その日付の所属する週、つまり直前の日曜日の日付が返されます。

こんな感じ。

select TRUNC(TO_DATE('2012-03-08'), 'DAY') from dual
-> 2012/03/04


他にも四半期(Q)とかその月の最初の曜日(W)とか、いくつか引数が用意されているので、覚えておけばいつか役に立つと思います。

0 件のコメント:

コメントを投稿