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算術関数】FLOOR – 引数以下で最も大きい整数値を求める(Oracle、SQL Server)

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

no image

【SQL文字列関数】REPLICATE – 指定した文字列を繰り返す(SQL Server)

SQL Serverでは、REPLICATE関数を使って文字列を指定回数繰り返す事ができます。 文法: REPLICATE(s, n) sに指定した文字列をn回繰り返す。 使用例:社員名列をN列の回数 …

no image

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

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

no image

【SQL文字列関数】STR – 数値を文字列に変換(SQL Server)

SQL Serverで数値を文字列に変換するにはSTR関数を使います。 文法: STR(n [ , length [ , decimal] ] ) nで与えられた数値を文字列に変換する。lengthで …

no image

【SQL文字列関数】INITCAP – 文字列の先頭を大文字に変換する(Oracle、SQL Server)

OracleやSQL Serverで文字列の先頭だけを大文字にするには、INITCAPを使います。 構文: INITCAP(word) wordの先頭文字のみ大文字にする。 使用例:単語の先頭を大文字 …

広告

転職