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文字列関数】RTRIM – 文字列の右(末尾)から空白文字を削除する(Oracle、SQL Server)

OracleやSQL Serverで、文字列の右(末尾)から空白文字(スペース文字)を削除するにはRTRIM関数を使用します。 構文: RTRIM(word) wordに指定した文字列の右から空白文字 …

no image

【SQL変換関数】NULLIF – 等しい場合にNULLを返す(Oracle、SQL Server)

NULLIF関数は2つの引数を比較して、2つの引数が等しい場合はNULLを返します。等しくない場合は、1つ目の引数を返します。Oracle、SQL Serverなどで利用できます。 構文: NULLI …

no image

【SQL算術関数】POWER – べき乗を求める (Oracle、SQL Server)

OracleやSQL Serverでnのm乗のようなべき乗を求めるには、POWER関数を使います。 文法: POWER(n, m) nのm乗をした数値を返す。 使用例:xのy乗を求める SELECT …

no image

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

Oracleで、現在の日付を取得するにはSYSDATE関数を使います。Oracleの場合、SYSDATEに括弧は不要ですのでご注意を(例:SYSDATE()はエラーになる)。SQL Serverの場合 …

no image

【SQL文字列関数】CHAR、CHR – ASCIIコードを文字に変換する(SQL Server、Oracle)

ASCIIコードを文字に変換するにはCHAR(SQL Serverの場合)もしくはCHR(Oracleの場合)を使用します。 使用例:ASCIIコードを文字に変換する SELECT ascii_cod …

広告

転職