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文字列関数】CHARINDEX – 文字列の位置を求める(SQL Server)

SQL ServerのCHARINDEX関数は文字列の位置を返します。例えば、「Windows」という文字列からdの位置を求めると4となります。sの位置は7となります。大文字小文字の区別はありません。 …

no image

【SQL算術関数】TRUNC – 数値を切り捨てる(Oracle)

Oracleで数値を切り捨てるにはTRUNC関数を使います。SQL ServerはROUND関数を使って四捨五入と切り捨ての両方の処理を行う事ができます。 文法: TRUNC(value [ , d …

no image

【SQL日付関数】ADD_MONTHS – 日付に月を加算する (Oracle)

Oracleでは、ADD_MONTHSを使って日付に月を加算する事ができます。注意点として、2009/09/30のように月末の日付に月を加算すると、その月の月末を計算します。例えば、2009/09/3 …

no image

【SQL集計関数】AVG関数 ? 平均値を求める (Oracle、SQL Server)

平均値を求めるには、AVG関数を使います。 使用例:全社員の給料の平均値を求める SELECT AVG(salary) FROM tbSalaryTable; AVG(salary) —& …

no image

【SQL日付関数】MONTH – 日付値から月を取得する(SQL Server)

SQL Serverで日付値から月の値を取得するにはMONTH関数を使います。DATEPART関数を使っても日付型の値から月を取得する事ができます。DATEPART関数とMONTH関数の違いは、DAT …

広告

転職