在配置任務對象時,您可以設定SQL過濾條件過濾任務資料。通過設定後,只有滿足過濾條件的資料才會被同步或遷移到目標資料庫。該功能可應用於資料的定期同步或遷移、拆分資料表等多種應用情境。
前提條件
新版控制台的操作步驟,請參見通過SQL條件過濾任務資料。
已啟動任務配置,並處於配置任務對象及進階配置環節。關於如何啟動任務配置,請參見配置同步任務(新控制台)。
功能限制
僅支援過濾當前表的欄位,不支援跨表過濾。如有需要,您可以在多個表中分別填寫過濾條件。
操作步驟
在配置任務對象及進階配置環節,將任務對象移動到已選擇對象地區框中後,將滑鼠指標放置在要修改的資料表上並單擊右鍵。
在彈出的編輯表對話方塊中,填入過濾條件。
過濾條件支援標準的SQL WHERE語句(僅支援
=
、!=
、<
、>
、in
操作符),只有滿足WHERE條件的資料才會被同步或遷移到目標資料庫中。本案例填入order>100
。過濾條件支援按時間條件過濾,但SQL WHERE語句中時間的格式有一定要求,例如過濾2020年之後建立的增量資料,您需要填入
create_time>'2020-01-01'
或create_time>'2020-01-01 00:00:00'
,不支援填入create_time>'2020'
。過濾條件中如需使用引號,請使用單引號('),例如
address in('hangzhou','shanghai')
。如源庫中同一張表記憶體在兩個列A和a,由於過濾條件忽略列名的英文大小寫,則SQL WHERE語句僅支援過濾列A,不支援過濾列a,例如支援
WHERE A=10
,不支援WHERE a=10
。對於ApsaraDB for MongoDB,過濾條件支援的語句與標準的SQL WHERE語句不同,例如需要以使用者ID進行過濾時,過濾條件輸入:
{"_id":{$gt:"user100844658590795****",$lte:"user101674868045948****"}}
。其中gt
表示大於,lte
表示小於等於。
單擊確定。
根據提示完成後續的任務配置。