OracleBronze11gSQL基礎〜単一関数〜

じゃ前回に続いて単一関数
日付はなんやかんやでメンドクサイ。
試験で一番出てきて欲しくない!!
まづ何点か覚えよう〜〜♪

日付デフォルトはOracleでは
DD-MON-RRになっている。
最初これ見たとき
「ディーディーモンルル」とかゆってました。
要は(日付-月-年)ってこと
13−SEP-02は
2002年9月13日ってこと。

後、気をつけないといけないのは日付け算術演算子
可能なのは
日付+数値→日付に日数を足した日付けが返される
日付-数値→日付に日数を引いた日付けが返される
日付-日付→日数の差分が戻される
日付+数値/24→日付に時間を足した日付が戻される

▲今日は日付関数
日付関数は日付を受け取って数値とか日付とかを返します。([]は省略可能)

                                                                                                                                                    • -

ADD_MONTHS関数
構文:ADD_MONTHS(日付,n)
日付にnヶ月を足した数を返す。nは負数でもいい

--08-11-15と08-08-15が返ってくる
SELECT ADD_MONTHS('08-10-15',1),ADD_MONTHS('08-10-15',-2) FROM DUAL;
                                                                                                                                                    • -

LAST_DAY関数
構文:LAST_DAY(日付)
日付の月の最後の日が返ってくる

--文字列1の中から文字列2が先頭から数えて何番目にあるか
SELECT LAST_DAY('08-06-02') FROM DUAL;

結果08-06-30が返ってくる。

                                                                                                                                                    • -

あと、数値関数でも出たけど
TRUNCとROUNDも使えます。
・TRUNC(日付[,書式])・・・書式には日付とか月とか指定する。デフォルトは日付切捨て
・ROUND(日付[,書式])・・・書式で指定した単位に日付を四捨五入する。デフォルトは日にち