Este tema describe los escenarios, las limitaciones y el procedimiento para filtrar datos mediante condiciones SQL después de seleccionar los objetos de migración o sincronización al crear una tarea de migración o sincronización de datos.
Escenarios
Al crear una tarea de migración o sincronización de datos, puede especificar condiciones SQL para filtrar la información. Solo los datos que cumplen con las condiciones del filtro se migrarán a la base de datos de destino. Esta función permite filtrar datos en varios escenarios, como la sincronización o migración programada de datos, la fragmentación de tablas de datos y el filtrado de datos históricos o no válidos.
El servicio de transmisión de datos permite modificar las condiciones SQL de los objetos de migración o sincronización mientras se ejecuta la tarea. Para obtener más información, consulte View and modify migration objects and their filter conditions y View and modify synchronization objects and their filter conditions.
Limitaciones
Una condición SQL solo filtra campos de la tabla actual. No se admite el filtrado entre tablas.
Las condiciones SQL son compatibles con la migración completa, la sincronización completa y la sincronización incremental.
No realice operaciones DDL en las columnas que se filtrarán mediante condiciones SQL. De lo contrario, podrían producirse excepciones en la migración o sincronización.
Procedimiento
-
Configure una tarea de migración o sincronización de datos siguiendo las indicaciones hasta llegar al paso Select Migration Objects o Select Synchronization Objects.
Para obtener más información, consulte los temas sobre tareas de data migration o data synchronization correspondientes a los tipos de origen de datos.

-
Después de especificar los objetos de base de datos que se migrarán o sincronizarán, coloque el puntero sobre el objeto de tabla que desea configurar en el panel Target Object(s) de la sección Select Migration Scope/Select Synchronization Scope y haga clic en Settings.

-
En el cuadro de diálogo Settings, especifique una cláusula WHERE de SQL estándar para filtrar datos por fila.

La sintaxis de la cláusula WHERE de SQL es la siguiente:
El sistema no convierte mayúsculas ni minúsculas en los nombres de columna. Introduzca el nombre correcto de la columna y enciérrelo entre caracteres de escape (`). Por ejemplo:
`col`.Las condiciones de filtro admiten instrucciones WHERE de SQL estándar. Solo se admiten los operadores
=,! =,<y>>, y únicamente los datos que cumplen la condición WHERE se sincronizan con la base de datos de destino. Por ejemplo:`id`> 200.-
Las condiciones de filtro permiten filtrar por tiempo. Sin embargo, tenga en cuenta los requisitos de formato para la hora en las instrucciones WHERE de SQL, que debe ser
yyyy-MM-dd HH:mm:ssoyyyy-MM-dd.Por ejemplo, si desea filtrar datos incrementales posteriores al 31 de diciembre de 2022, introduzca
`date_now` > '2022-12-31'o`date_now` > '2022-12-31 00:00:00'. Si desea recuperar datos dentro de un periodo específico, utilice el operador AND u OR. Por ejemplo, para filtrar datos entre el 31 de diciembre de 2021 y el 1 de abril de 2022, introduzca
`init_date`>'20211231' and `init_date`<'20220401'.Utilice comillas simples (') en los criterios de filtro. Por ejemplo:
`address` in ('BEIJING','HANGZHOU').
-
Haga clic en Validate Syntax.

Haga clic en OK.
Complete la configuración restante de la tarea según las indicaciones.