次の方法で共有


構文 (SSIS)

Integration Services 式の構文は、C 言語および C# 言語が使用する構文と同様です。 式には、識別子 (列および変数)、リテラル、演算子、関数などの要素が含まれます。 このトピックでは、式エバリュエーターの構文がさまざまな式要素を適用する際の、一意の必要条件の概要について説明します。

注意

前のリリースの Integration Services では、式の評価結果の Integration Services データ型が DT_WSTR または DT_STR であるとき、結果の文字数が 4,000 文字に制限されていました。 この制限はなくなっています。

特定の演算子と関数を使用するサンプル式については、「演算子 (SSIS 式)」および「関数 (SSIS 式)」の各演算子と関数のトピックを参照してください。

複数の演算子と関数、および識別子とリテラルを使用するサンプル式については、「Integration Services 式の詳細の例」を参照してください。

プロパティの式で使用するサンプル式については、「パッケージでプロパティ式を使用する」を参照してください。

識別子

式には、列および変数の識別子を含めることができます。 列はデータ ソースで生成されるか、またはデータ フローの変換によって作成できます。 式では、系列 ID を使用して列を参照できます。 系列 ID は、パッケージの要素を一意に識別する数値です。 系列 ID を式の内部で参照する場合、系列 ID にポンド (#) プレフィックスを含める必要があります。 たとえば、系列 ID 138 を参照するには、#138 を使用します。

式には、SSIS で用意されているシステム変数と、カスタム変数を含めることができます。 変数を式の内部で参照する場合、変数に @ プレフィックスを含める必要があります。 たとえば、Counter 変数を参照する場合、@Counter を使用します。 @ 文字は変数名の一部ではなく、式エバリュエーターに対して識別子が変数であることを示すだけのものです。 詳細については、「識別子 (SSIS)」を参照してください。

リテラル

式には、数値、文字列、およびブール値のリテラルを含めることができます。 文字列リテラルを式で使用するには、引用符で囲む必要があります。 数値リテラルおよびブール値のリテラルには、引用符は付けません。 式言語には、通常エスケープされる文字のエスケープ シーケンスが含まれます。 詳細については、「リテラル (SSIS)」を参照してください。

演算子

式エバリュエーターで提供される演算子セットの機能は、Transact-SQL、C++、C# などの言語に含まれる、演算子セットの機能と同様です。 ただし、式言語には別の演算子が含まれており、周知の記号とは異なる記号が使用されます。 詳細については、「演算子 (SSIS 式)」を参照してください。

名前空間を解決する演算子

式では名前空間を解決する演算子 (::) が使用され、同じ名前を持つ複数の変数を明確に識別します。 名前空間を解決する演算子を使用すると、変数をその名前空間で修飾でき、これによって、同じ名前を持つ複数の変数をパッケージ内で使用できます。

キャスト演算子

キャスト演算子は、式の結果、列の値、変数の値、および定数を、あるデータ型から別のデータ型に変換します。 式言語が提供するキャスト演算子は、C および C# 言語が提供するものと同様です。 Transact-SQL では、CAST 関数と CONVERT 関数によってこの機能が提供されます。 キャスト演算子の構文は、CAST 関数や CONVERT 関数が使用する構文と、次の点が異なります。

  • 式を引数として使用できます。

  • 構文に CAST キーワードが含まれません。

  • 構文に AS キーワードが含まれません。

条件演算子

条件演算子は、ブール式の評価に基づいて 2 つの式のうちのいずれかの式を返します。 式言語が提供する条件演算子は、C および C# 言語が提供する条件演算子と同様です。 多次元式 (MDX) では、IIF 関数が同様の機能を提供します。

論理演算子

式言語では、論理 NOT 演算子の ! 文字がサポートされています。 Transact-SQL では、! 演算子は関係演算子のセットに組み込まれています。 たとえば、Transact-SQL には、> 演算子および !> 演算子が用意されています。 SSIS 式言語では、! 演算子とその他の演算子の組み合わせはサポートされません。 たとえば、! と > を結合して !> にすることはできません。 ただし、この式言語では、等しくない比較を表すために、!= の文字の組み合わせがあらかじめサポートされています。

等価演算子

式エバリュエーターの文法では、== 等価演算子が用意されています。 この演算子は、Transact-SQL での = 演算子、および C# での == 演算子と同等です。

関数

式言語には、日付と時刻の関数、数学関数、および文字列関数が提供されています。これらの関数は、Transact-SQL 関数や C# のメソッドと同様です。

いくつかの関数は、Transact-SQL 関数と同じ名前を持っていますが、式エバリュエーターの関数の機能は微妙に異なります。

  • Transact-SQL の ISNULL 関数は指定した値に NULL 値を置き換えますが、式エバリュエーターの ISNULL 関数は、式が NULL であるかどうかに基づくブール値を返します。

  • Transact-SQL の ROUND 関数には、結果セットを切り捨てるオプションが含まれますが、式エバリュエーターの ROUND 関数には含まれません。

詳細については、「関数 (SSIS 式)」を参照してください。

関連タスク

データ フロー コンポーネントで式を使用する

関連コンテンツ

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN の Integration Services のページを参照してください。


これらの更新が自動で通知されるようにするには、ページの RSS フィードを定期受信します。