本文为您介绍创建数据同步项目时,选择同步对象后通过 SQL 条件过滤数据的适用场景、使用限制和操作步骤。
适用场景
创建数据同步项目时,您可以设置 SQL 过滤条件来过滤数据。完成设置后,只有满足过滤条件的数据才会被同步或同步至目标数据库。该功能适用于数据的定期同步或迁移、拆分数据表、过滤历史数据和脏数据等多种应用场景。
使用限制
通过 SQL 条件过滤数据时,仅支持过滤当前表的字段,不支持跨表过滤。
SQL 条件过滤数据的作用范围为全量同步和增量同步。
操作步骤
新建数据同步项目,并配置至 选择同步对象 步骤。
详情请参见 数据同步 模块相应类型的创建数据同步项目文档。
选择同步对象后,在 选择同步范围 区域右侧的 目标端对象 列表中,鼠标悬停至目标表对象。
单击显示的 设置。
在 设置 对话框中,输入标准的 SQL 语句中的
WHERE
子句,来配置行过滤。SQL WHERE 语句的语法说明如下:
请对列名添加转义符(`)。例如,
`col`
。添加转义符后的列名是匹配实际列名的字符串,不会进行大小写转换等处理。过滤条件支持标准的 SQL WHERE 语句(仅支持
=
、!=
、<
和>
操作符),只有满足 WHERE 条件的数据才会被同步至目标数据库。例如,`id`
> 200。过滤条件支持根据时间条件进行过滤,但请注意 SQL WHERE 语句中对时间的格式要求(
yyyy-MM-dd HH:mm:ss
或yyyy-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')
。
配置完成后,单击 验证语法。
单击 确定。
根据提示完成后续的项目配置。