3.5.6. デコード関数


デコード機能により、Data Virtualization サーバーが結果セット内の列の内容を確認し、変更またはデコードし、アプリケーションが結果をより適切に使用できるようにできます。

Expand
機能定義データタイプ制約

DECODESTRING(x, y [, z])

任意の区切り文字 z と y の文字列を使用して列 x をデコードし、デコードされた列を文字列として返します。区切り文字が指定されていない場合は、コンマ(,)が使用されます。Y の形式は SearchDelimResultDelimSearchDelimResult[DelimDefault] です。一致するものがない場合は、指定または x の場合は Default を返します。非推奨。代わりに CASE 式を使用してください。

すべての文字列

DECODEINTEGER(x, y [, z])

任意の区切り文字 z と y の文字列を使用して列 x をデコードし、デコードされた列を整数として返します。区切り文字が指定されていない場合は、コンマ(,)が使用されます。Y の形式は SearchDelimResultDelimSearchDelimResult[DelimDefault] です。一致するものがない場合は、指定または x の場合は Default を返します。非推奨。代わりに CASE 式を使用してください。

すべての文字列パラメーター、整数を返す

各関数呼び出しには、以下の引数が含まれます。

  1. X はデコード操作の入力値です。通常、これは列名です。
  2. Y は、入力値と出力値の 切ったセットが含まれるリテラル文字列です。
  3. z は、これらのメソッドのオプションのパラメーターで、y で指定された文字列がどの区切り文字であるかを指定できます。

たとえば、アプリケーションは、IS_IN_STOCK という列が含まれる PARTS というテーブルにクエリーを実行します。これには、アプリケーションが処理するために整数に変更する必要のあるブール値が含まれます。この場合、DECODEINTEGER 関数を使用してブール値を整数に変更できます。

SELECT DECODEINTEGER(IS_IN_STOCK, 'false, 0, true, 1') FROM PartsSupplier.PARTS;
Copy to Clipboard Toggle word wrap

Data Virtualization システムが結果セットで false の値に遭遇すると、値は 0 に置き換えられます。

整数を使用する代わりに、アプリケーションに文字列の値が必要な場合は、DECODESTRING 関数を使用して必要な文字列値を返すことができます。

SELECT DECODESTRING(IS_IN_STOCK, 'false, no, true, yes, null') FROM PartsSupplier.PARTS;
Copy to Clipboard Toggle word wrap

このサンプルクエリーは、2 つの入力/出力値のペアに加えて、列に前述の入力値が含まれない場合に使用する値を提供します。IS_IN_STOCK 列の行に true または false が含まれていない場合、Data Virtualization サーバーは null を結果セットに挿入します。

これらの DECODE 関数を使用する場合は、文字列内で必要な入力/出力値のペアをいくつでも提供できます。デフォルトでは、Data Virtualization システムはコンマ区切りの区切り文字を想定しますが、関数呼び出しに 3 番目のパラメーターを追加して別の区切り文字を指定することができます。

SELECT DECODESTRING(IS_IN_STOCK, 'false:no:true:yes:null',':') FROM PartsSupplier.PARTS;
Copy to Clipboard Toggle word wrap

DECODE 文字列のキーワード null を入力値または出力値のいずれかとして使用し、null 値を表すことができます。ただし、リテラル文字列 null を入力または出力値として使用する必要がある場合(つまり null という単語が列に表示され、null 値ではない)は、単語を引用符( 「null」 )に記述できます。

SELECT DECODESTRING( IS_IN_STOCK, 'null,no,"null",no,nil,no,false,no,true,yes' ) FROM PartsSupplier.PARTS;
Copy to Clipboard Toggle word wrap

DECODE 関数が列に一致する出力値が見つからない場合で、デフォルト値を指定しない場合、DECODE 関数はその列にある Data Virtualization サーバーが元の値を返します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat