SQL辞典

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

投稿日:2009年9月5日 更新日:

OracleではDECODE関数を使って、値を変換する事ができます。使い方はCASE命令と似ています。CASE命令で書き換える事も可能です。

文法:

DECODE( x, target, new_value [ , target2, new_value2…..] [ , default] )

xで指定した値を評価し、それがtargetと等しい場合はnew_valueを返す。target2に等しい場合はnew_value2を返す。xの値がどの値とも一致しない場合はdefaultを返す。

使用例:result列が2の場合は’不合格’、1の場合は’合格’を返す。それ以外の場合は’集計中’を返す。

SELECT user, result, DECODE(result, 2, ‘不合格’, 1, ‘合格’, ‘集計中’) FROM tbExamTable;

user   result  DECODE(result, 2, ‘不合格’, 1, ‘合格’, ‘集計中’)
————————————————————————————-
Tom    1    合格
Jenny    0    集計中
Chris    2    不合格
Andrew   1    合格

SQLコマンド辞典に戻る

広告

広告

-SQL辞典


comment

関連記事

no image

【SQL変換関数】TO_DATE – 日付値に変換する (Oracle)

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

no image

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

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

no image

【SQL日付関数】CURRENT_TIMESTAMP – 現在の日時を求める(Oracle、SQL Server)

OracleやSQL Serverでは、CURRENT_TIMESTAMP関数を使って現在の日時を求める事ができます。 使用例:現在の日時を取得する。 SELECT CURRENT_TIMESTAMP …

no image

【SQL文字列関数】LEN / LENGTH – 文字列の長さを取得する(SQL Server、Oracle)

文字列の長さを取得するには、SQL Serverの場合はLEN関数、Oracleの場合はLENGTH関数を使用する。 文法: LEN(word) LENGTH(word) wordに指定した文字列の長 …

no image

【SQL変換関数】NVL – NULL値の変換(Oracle)

OracleではNULL値を別の値に変換するには、NVL関数を使用します。SQL Serverの場合はISNULL関数を使用します。使い方はNVLとISNULLは同じです。 構文: NVL(a, b) …

広告

転職