SQL辞典

【SQL変換関数】NVL2 – NULL値を変換する(Oracle)

投稿日:2009年8月29日 更新日:

NVL関数がバージョンアップ?したNVL2関数があります。NVL2はOracleのコマンドで、以下の通りにNULL値を別の値に変換することができます。

構文:

NVL2(式, 値1, 値2)

式の値がNULL以外であれば値1を返し、NULLの場合は値2を戻す。

使用例:給料とボーナスの合計を求める

SELECT name, salary, bonus, NVL2(bonus, salary+bonus, salary)

name     salary      bonus    NVL2(bonus, salary+bonus, salary)
————————————————————————————————-
Yamada    200000    100000    300000
Tanaka    150000             150000
Kawai     300000    130000    430000

salary+bonusのような演算でbonusがNULL値の場合はsalary+bonusは何の値も返しません。ですので、上記のようにNULL値を別の値に変換する必要があるのです。

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL文字列関数】NCHAR / NCHR – Unicodeを文字に変換する(Oracle、SQL Server)

Unicodeを文字列に変換するには、OracleではNCHR関数、SQL ServerではNCHAR関数を使います。 構文: NCHAR(n) NCHR(n) nに指定したUnicodeを文字に変換 …

no image

【SQL日付関数】LAST_DAY – 月の最終日付を取得する (Oracle)

Oracleでは、LAST_DAY関数を利用して月の最終日を取得する事ができます。閏年にも対応していますね。 使用例:月の最終日付を取得する。 SELECT date, LAST_DAY(date) …

no image

【SQL日付関数】CURRENT_DATE – 現在の日付を取得する(Oracle)

OracleではCURRENT_DATE関数を使って現在の日付を取得する事ができます。OracleにはSYSDATE関数でも現在の日付を取得する事ができます。CURRENT_DATE関数には括弧は不要 …

no image

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

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

no image

【SQL日付関数】NEXT_DAY – 指定した曜日が次に来る日付を求める (Oracle)

OracleではNEXT_DAY関数を利用して、指定した曜日が次に来る日付を求める事ができます。 文法: NEXT_DAY(date, week) dateから見てweekで指定した曜日が来る次の日付 …

広告

転職