【SQL入門】単一関数まとめ~数値関数と日付関数編~
【今回の紹介】
仕事の都合で「oraclesql基礎」を取得することになったのでその学習メモを載せまーす
ちなみにインプットはこの書籍
【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集(オラクルマスタースタディガイド)
【内容】
SQL関数には多く分けて2つある
①単一関数
対象のレコード分処理結果を返す
②グループ関数
複数のレコードに対し一つの結果を返す。
その中でも今回まとめたのは、単一関数の中の一つである日付関数と数値関数について
■単一関数
①数値関数
(1)ROUND:小数点の切り上げ
ROUND(列名,m)
(2)TRUNCK:小数点の切り下げ
TRUNCK(列名,m)
(3)MOD:指定した数字の余りを返す(m÷nの余りを返す)
MDD(m,n)
②日付関数
(1)日付の加算・減算
select 列名(日付型)+30
select 列名(日付型)+30
select SYSDATE-列名(日付型)
※日付型同士の計算は経過した時間が返される
「日」の部分に関して計算がおこなわれる
(2)時間数の加算・減算
select 列名(日付型)+30/24
select 列名(日付型)+30/24
※「日」の部分に関して計算がおこなわれる
(3)MONTH_BETWEEN:指定した2つの日付間の月数を返す
MONTH_BETWEEN(列名,列名)
(4)ADD_MONTHS:指定した日付のnヶ月後を返す
ADD_MONTHS(列名,n)
※もし列名に入る値が月の最終日でだった場合、
nヶ月後の月の最終日を返す
(5)NEXT_DAY:指定した日付の次のm曜日の日付を返す
NEXT_DAY(列名,'曜日')
(6)LAST_DAY:指定した日付の前のm曜日の日付を返す
LAST_DAY(列名,'曜日')
※日付関数に関するメモ
a.英語環境では(日-月―年)表示⇒日本では(年-月-日)
b.日付の乗算・割算はできない
c.日付同士の加算はできない(日付にある数値を加算は可能)
d.日付同士の減算は可能