- 类别:
ACCEPTED_VALUES(系统数据指标函数)¶
返回列值 不 匹配布尔表达式的记录数。
语法¶
SNOWFLAKE.CORE.ACCEPTED_VALUES ON ( <column>, <lambda-expression> )
实参¶
column指定包含与
lambda-expression中的布尔表达式进行比较的值的列。lambda-expression指定由以下语法组成的 lambda 表达式:
column -> expression该函数返回
column值与布尔表达式不匹配的记录数。此表达式可以使用以下运算和函数:lambda 表达式中的
column始终与column实参匹配。
允许的数据类型¶
column 和 lambda-expression 实参中指定的列可以包含以下任何数据类型:
DATE
FLOAT
NUMBER
TIMESTAMP_LTZ
TIMESTAMP_NTZ
TIMESTAMP_TZ
VARCHAR
返回¶
该函数会返回 NUMBER 值。
访问控制要求¶
Associating and running a system DMF requires the USAGE privilege on the system DMF. You can grant the SNOWFLAKE.DATA_METRIC_USER database role to give users the USAGE privilege on all system DMFs. For more information, see Grant the USAGE privilege on system DMFs.
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
您不能直接调用此函数。要了解如何将该函数与表或视图关联以使其定期运行,请参阅 关联 DMF 以自动执行数据质量检查。
您可以使用 SYSTEM$DATA_METRIC_SCAN 函数来对表运行 ACCEPTED_VALUES 函数,而无需将其关联。
您不能多次将此函数与同一列关联。
重命名 ACCEPTED_VALUES 函数中指定的列会中断该函数与该列的表或视图之间的关联。如果重命名该列,则必须将该函数与表或视图重新关联。
示例¶
将该函数与表 t1 关联,这样它就会返回列 age 值 不 等于五的记录数。
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (age, age -> age = 5);
将该函数与视图 order_details 关联以使其返回列 order_status 的值 不 在字符串 Pending、Dispatched 和 Delivered 列表中的记录数。
ALTER VIEW order_details
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.ACCEPTED_VALUES ON (
order_status,
order_status -> order_status IN ('Pending', 'Dispatched', 'Delivered'));