タスクオブジェクトの設定時に SQL 条件を指定して、タスクデータをフィルタリングできます。これにより、Data Transmission Service (DTS) は条件を満たすデータのみを同期または移行します。この機能は、定期的なデータ同期、データ移行、またはテーブル分割に使用します。
前提条件
新しいコンソールの手順については、「SQL 条件を使用したタスクデータのフィルタリング」をご参照ください。
タスク設定を開始し、オブジェクトの設定と詳細設定 ステップに進んでいる必要があります。タスク設定を開始するには、「データ同期タスクの設定 (新しいコンソール)」をご参照ください。
制限事項
フィルタリングは現在のテーブルの列にのみ適用されます。テーブル間のフィルタリングはサポートされていません。複数のテーブルをフィルタリングするには、テーブルごとに個別の条件を指定してください。
手順
-
オブジェクトの設定と詳細設定 ステップで、タスクオブジェクトを 選択中のオブジェクト ペインに移動します。ターゲットテーブルにカーソルを合わせ、右クリックします。
-
テーブルの編集 ダイアログボックスで、フィルタリング条件 フィールドに SQL WHERE 句を入力します。
説明-
[フィルター条件] フィールドは、標準の SQL WHERE 句をサポートしています。サポートされている演算子:
=、!=、<、>、in。条件を満たすデータのみが同期または移行されます。例:order>100。 -
時間ベースのフィルタリングには、特定の日付形式が必要です。たとえば、2020年1月1日より後に作成されたデータをフィルタリングするには、
create_time>'2020-01-01'またはcreate_time>'2020-01-01 00:00:00'と入力します。create_time>'2020'という形式はサポートされていません。 -
[フィルター条件] フィールドでは、単一引用符 (') を使用してください。例:
address in('hangzhou','shanghai')。 -
ソーステーブルに、名前の大文字と小文字のみが異なる2つの列 (A と a など) がある場合、WHERE 句は、大文字の列のみをフィルタリングします。例:
WHERE A=10はサポートされていますが、WHERE a=10はサポートされていません。 -
ApsaraDB for MongoDB は、異なるフィルター構文を使用します。たとえば、ユーザーIDでフィルタリングするには、
{"_id":{$gt:"user100844658590795****",$lte:"user101674868045948****"}}と入力します。この構文では、gtは「より大きい」を意味し、lteは「以下」を意味します。
-
-
確かですか をクリックします。
-
プロンプトに従って、残りのタスク設定を完了してください。