在配置任務對象時,您可以設置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
。對于云數據庫MongoDB,過濾條件支持的語句與標準的SQL WHERE語句不同,例如需要以用戶ID進行過濾時,過濾條件輸入:
{"_id":{$gt:"user100844658590795****",$lte:"user101674868045948****"}}
。其中gt
表示大于,lte
表示小于等于。
單擊確定。
根據提示完成后續的任務配置。