Compartir a través de


cláusula ROW FILTER

Se aplica a:comprobar sí marcado Databricks SQL comprobar sí marcado Databricks Runtime 12.2 LTS y superior comprobar sí marcado Solo Unity Catalog

Especifica una función que se aplica como filtro cada vez que se capturan filas de la relación.

Puede agregar filtros de fila cuando:

Importante

El filtro de fila se aplica en cuanto se captura la fila desde el origen de datos.

Para obtener más información sobre cómo usar filtros de fila, consulte Filtros de fila y máscaras de columna.

Sintaxis

ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]

Parámetros

  • func_name

    Una SQL UDF escalar.

    El tipo de valor devuelto de la función debe ser BOOLEAN. Si la función devuelve FALSE o NULL se filtra la fila.

  • nombre_de_columna

    Especifica las columnas del tema que se van a pasar a func_name. Cada column_name debe convertirse al parámetro correspondiente de func_name. Debe proporcionar tantas columnas como necesite la firma de la función. Tenga en cuenta que esta característica admite el paso de cero columnas de entrada, en cuyo caso la SQL UDF debe aceptar cero parámetros y devolver un resultado booleano independiente de cualquiera de los valores de las filas de entrada.

  • constant_literal

    Especifica un parámetro de constante con el tipo que coincide con un parámetro de función. Se admiten los siguientes tipos: STRING, numérico (INTEGER, FLOAT,DOUBLE, DECIMAL ....), BOOLEAN, INTERVAL, NULL.

Ejemplos

Puede encontrar más ejemplos en Filtros de fila y máscaras de columna.

-- Create a table with a row filter column
> CREATE FUNCTION filter_emps(dept STRING) RETURN is_account_group_member(dept);
> CREATE TABLE employees(emp_name STRING, dept STRING) WITH ROW FILTER filter_emps ON (dept);
> INSERT INTO employees VALUES ('Jones', 'Engineering'), ('Smith', 'Sales');

-- As a member of engineering
> SELECT * FROM employees;
  Jones Engineering

-- As a member of sales
> SELECT * FROM employees;
  Smith Sales