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日付関数】DATEPART – 日付要素を数値で取得する(SQL Server)

SQL Serverでは、DATEPART関数を使って日付値から指定した日付要素を数値で取得する事ができます。 文法: DATEPART(element, value) valueで指定した日付値から …

no image

【SQL集計関数】MAX関数 ? 最大値を返す (SQL Server、Oracle)

指定した列の最大値を返すには、MAX関数を使います。数値、文字列、日付の最大値を求める事が可能です。 使用例:社員の一番高い給料を返す SELECT MAX(salary) FROM tbEmpTab …

no image

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

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

no image

【SQL算術関数】ABS – 絶対値を取得する(Oracle、SQL Server)

OracleやSQL Serverでは、ABS関数を使って数値の絶対値を求める事が出来ます。 文法: ABS(value) valueの絶対値を求める 使用例:夫婦の年齢差を求める。 SELECT h …

no image

【SQL日付関数】EXTRAC – 日付から任意の日付要素を取得する (Oracle)

Oracleで、日付値から任意の日付要素(年、月、日など)を取得するにはEXTRACT関数を使います。例えば、EXTRACT関数を使えば、2008-09-22という日付値から、月を取得すると09という …

広告

転職