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変換関数】TO_DATE – 日付値に変換する (Oracle)

Oracleでは、TO_DATE関数を使って、文字列もしくは数値を日付値に変換することができます。 文法: TO_DATE(value [, format] ) valueに指定した文字列もしくは数値 …

no image

【SQL文字列関数】LTRIM – 文字列の左(先頭)から空白文字を削除(Oracle、SQL Server)

OracleやSQL Serverで文字列の左(先頭)から空白(スペース)文字を削除するにはLTRIM関数を使用します。 構文: LTRIM(word) wordで指定した文字列の左側から空白文字を削 …

no image

【SQL文字列関数】RPAD – 右側から指定した文字で充填する(Oracle)

Oracleで文字の末尾(右側)から指定した文字を充填するにはRPAD関数を使用します。 文法: RPAD(word, n, x) wordで指定した文字の長さがnになるように末尾からxの文字を充填す …

no image

【SQL文字列関数】REVERSE – 文字列を反転させる(SQL Server)

SQL ServerやMySQLではREVERSE関数を使って文字列を反転させる事ができます。 文法: REVERSE(word) wordに指定した文字列を反転させる。 使用例:文字列を反転させる …

no image

【SQL文字列関数】LEFT – 文字列の左(先頭)から指定した文字分だけ抽出(SQL Server)

SQL Serverで、文字列の左(先頭)から指定した文字分だけ抽出するにはLEFT関数を使います。 文法: LEFT(word, n) wordに指定した文字列の左からn文字分を抽出する。SQL S …

広告

転職