SQL Master データベースエンジニアとLinuxエンジニアのための情報まとめ

OracleやMS SQL serverの資格対策、SQLコマンド辞典、Linuxコマンド辞典、セキュリティに関する情報

SQL辞典

【SQL日付関数】MONTHS_BETWEEN – 日付の差を月単位で取得する (Oracle)

投稿日:2009年9月15日 更新日:

Oracleで2つの日付の差を月単位で取得するには、MONTHS_BETWEEN関数を取得する。注意点はMONTH_BETWEENではなく、MONTHS_BETWEENというようにMONTHが複数形であること。また、使用例の3列目の例のように月だけをみると2か月の差ですが、日付をみると、25‐5で20日間、つまり、20÷31=0.64516129月分の差がありますので、09-05-25と09-03-05の月の差は2.64516129ヶ月分の差がある事になります。

文法:

MONTHS_BETWEEN(date1, date2)

date1からdate2を引く形で月の差を求める。

使用例:日付の差を月単位で求める。

SELECT date1, date2, MONTHS_BETWEEN(date1, date2) FROM tbTestTable;

date1     date2      MONTHS_BETWEEN(date1, date2)
———————————————————————————-
09-09-03   09-04-03     5
09-05-25   09-07-25     -2
09-05-25   09-03-05     2.64516129

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL文字列関数】CONCAT関数 – 文字列を結合する(Oracle)

OracleではCONCAT関数を使用して文字列を結合することができます。 文法: CONCAT( a, b) 文字列aと文字列bを結合する 使用例:姓列と名列を結合する SELECT surname …

no image

【SQL変換関数】CAST – 型変換を行う(Oracle、SQL Server)

OracleやSQL Serverで値の型の変換を行うには、CAST関数を使います。 文法: CAST( value AS type) valueをtypeで指定した型に変換する。 使用例:数値を文字 …

no image

【SQL算術関数】RAND – 乱数を取得する(SQL Server)

SQL Serverで乱数を取得するにはRAND関数を使います。使用例のようにRAND関数を実行するたびに乱数が発生しますが、乱数の種を指定すると、1つの乱数を返します。 文法: RAND( [see …

no image

【SQL文字列関数】REPLACE – 文字列の置換(Oracle、SQL Server)

文字列のある文字を、別の文字列に置換するにはREPLACE関数を使用します。 文法: REPLACE(word, x, y) wordからxを検索し、それをyに置換する。 使用例:メールアドレスのドメ …

no image

【SQL変換関数】NVL – NULL値の変換(Oracle)

OracleではNULL値を別の値に変換するには、NVL関数を使用します。SQL Serverの場合はISNULL関数を使用します。使い方はNVLとISNULLは同じです。 構文: NVL(a, b) …

広告

転職