Partager via


Clause ROW FILTER

S’applique à :coché Databricks SQL coché Databricks Runtime 12.2 LTS et versions ultérieures coché Unity Catalog uniquement

Spécifie une fonction qui est appliquée en tant que filtre chaque fois que les lignes sont extraites de la relation.

Vous pouvez ajouter des filtres de lignes lorsque vous :

Importante

Le filtre de lignes est appliqué dès que la ligne est extraite de la source de données.

Pour plus d’informations sur l’utilisation des filtres de lignes, consultez filtres de lignes et masques de colonne.

Syntaxe

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

Parameters

  • func_name

    Une fonction SQL scalaire définie par l’utilisateur.

    Le type de retour de la fonction doit être BOOLEAN. Si la fonction renvoie FALSE ou NULL, la ligne est filtrée.

  • nom_de_colonne

    Spécifie les colonnes de la relation de sujet à transmettre à func_name. Chaque column_name doit être convertible dans le paramètre correspondant de func_name. Vous devez fournir autant de colonnes que l’exige la signature de la fonction. Notez que cette fonctionnalité prend en charge la transmission de colonnes d’entrée nulle, auquel cas la fonction SQL définie par l’utilisateur doit accepter zéro paramètre et renvoyer un résultat booléen indépendant de toute valeur des lignes d’entrée.

  • constant_literal

    Spécifie un paramètre constant avec le type correspondant à un paramètre de fonction. Les types suivants sont pris en charge : STRING, numérique (INTEGER, FLOAT,DOUBLE, DECIMAL …), BOOLEAN, INTERVAL, NULL.

Exemples

Vous trouverez d’autres exemples dans les filtres de lignes et les masques de colonne.

-- 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