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算術関数】CEIL / CEILING – 最も小さい整数を返す(Oracle、SQL Server)

引数に指定した値に対して、それ以上で最も小さい整数値を求めるにはOracleの場合はCEIL関数、SQL Serverの場合はCEILING関数を使います。CEILINGは天井という意味があります。引 …

no image

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

Oracleで2つの日付の差を月単位で取得するには、MONTHS_BETWEEN関数を取得する。注意点はMONTH_BETWEENではなく、MONTHS_BETWEENというようにMONTHが複数形で …

no image

【SQL文字列関数】STUFF – 部分的な文字の置換(SQL Server)

SQL Serverで文字列の部分的な置換を行う場合はSTUFF関数を使用します。 文法: STUFF(a, b, c, d) aで指定した文字列のb番目からc文字分の文字をdと入れ替える。 使用例: …

no image

【SQL変換関数】TO_CHAR – 値を文字列型に変換する(Oracle)

Oracleでは、TO_CHAR関数を使って数値型や日付型の値を文字列型の値に変換する事ができます。 文法: TO_CHAR(value [ , format [ , parameter ] ] ) …

no image

【SQL文字列関数】TRIM – 指定文字の削除(Oracle)

Oracleで文字列から指定した文字を削除するにはTRIM関数を使用します。TRIM関数では、先頭・末尾にある文字しか削除することができません。またSQL Serverでは使用できません。 文法: T …

広告

転職