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算術関数】POWER – べき乗を求める (Oracle、SQL Server)

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

no image

【SQL算術関数】FLOOR – 引数以下で最も大きい整数値を求める(Oracle、SQL Server)

OracleやSQL Serverで引数以下で最も大きい整数値を求めるには、FLOOR関数を使います。例えば、3.14以下で最も大きい整数値は3です。逆に引数以上で最も小さい整数値を求めるにはCEIL …

no image

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

OracleではCURRENT_DATE関数を使って現在の日付を取得する事ができます。OracleにはSYSDATE関数でも現在の日付を取得する事ができます。CURRENT_DATE関数には括弧は不要 …

no image

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

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

no image

【SQL算術関数】CEIL / CEILING – 最も小さい整数を返す(Oracle、SQL Server)

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

広告

転職