全部產品
Search
文件中心

ApsaraDB for OceanBase:SQL 條件過濾資料

更新時間:Jul 01, 2024

本文為您介紹建立資料移轉或資料同步專案時,選擇遷移或同步對象後通過 SQL 條件過濾資料的適用情境、使用限制和操作步驟。

適用情境

建立資料移轉或資料同步專案時,您可以設定 SQL 過濾條件來過濾資料。完成設定後,只有滿足過濾條件的資料才會被遷移或同步至目標資料庫。該功能適用於資料的定期同步或遷移、拆分資料表、過濾歷史資料和髒資料等多種應用情境。

使用限制

  • 通過 SQL 條件過濾資料時,僅支援過濾當前表的欄位,不支援跨表過濾。

  • SQL 條件過濾資料的作用範圍為全量遷移/全量同步和增量同步處理。

  • SQL 條件過濾資料使用的列請勿執行 DDL 變更,否則可能導致資料移轉或資料同步異常。

操作步驟

  1. 將資料移轉或資料同步專案配置至 選擇遷移對象 選擇同步對象 步驟。

    詳情請參見相應類型的 資料移轉資料同步 專案文檔。

    image.png

  2. 選擇遷移對象後,在 選擇遷移/同步範圍 地區右側的 目標端對象 列表中,滑鼠移至上方至目標表對象,單擊顯示的 設定

    image.png

  3. 設定 對話方塊中,輸入標準的 SQL 陳述式中的 WHERE 子句,來配置行過濾。

    image

    SQL WHERE 語句的文法說明如下:

    • 列名不會進行大小寫轉換,請輸入正確的列名,並對列名添加轉義符(`)。例如,`col`

    • 過濾條件支援標準的 SQL WHERE 語句(僅支援 =!=<> 操作符),只有滿足 WHERE 條件的資料才會被同步至目標資料庫。例如,`id` > 200。

    • 過濾條件支援根據時間條件進行過濾,但請注意 SQL WHERE 語句中對時間的格式要求(yyyy-MM-dd HH:mm:ssyyyy-MM-dd)。

      例如,您需要過濾 2022 年 12 月 31 日之後的增量資料,請輸入 `date_now` > '2022-12-31'`date_now` > '2022-12-31 00:00:00'

    • 如果您需要過濾某個時間段內的資料,請使用 and 或 or 語句。例如,您需要過濾 2021 年 12 月 31 日至 2022 年 4 月 1 日之間的資料,請輸入 `init_date`>'20211231' and `init_date`<'20220401'

    • 過濾條件中需要使用英文單引號(')。例如 `address` in ('BEIJING','HANGZHOU')

  4. 配置完成後,單擊 驗證文法

    image

  5. 單擊 確定

  6. 根據提示完成後續的專案配置。