- 类别:
SYSTEM$GET_TAG¶
返回与指定的 Snowflake 对象或列关联的标记值。如果未在指定的 Snowflake 对象或列上设置标记,则返回 NULL。
语法¶
SYSTEM$GET_TAG( '<tag_name>' , '<obj_name>' , '<obj_domain>' )
实参¶
'tag_name'
作为字符串的标签的名称。
名称是标签的键值对中的
key
。例如,在标签cost_center = 'sales'
中,cost_center
是标签的键名。对于此实参,请使用'cost_center'
.'obj_name'
作为字符串的对象的名称。
例如,如果表名是
my_table
,则将'my_table'
用作对象的名称。要指定列,请使用格式
<table_name>.<column_name>
. For example,my_table.revenue
。有关更多信息,请参阅 对象标识符。
'object_domain'
引用对象(如表或视图)的域(如果标签关联位于对象上)。对于列,如果标签关联位于列上,则域为
COLUMN
域。使用以下值之一:
'ACCOUNT'
'ALERT'
'COLUMN'
'DATABASE'
'DATABASE ROLE'
'FUNCTION'
'INTEGRATION'
'NETWORK POLICY'
'PROCEDURE'
'ROLE'
'SCHEMA'
'SHARE'
'STAGE'
'STREAM'
'TABLE'
:将此值用于所有类似表的对象,例如视图、物化视图和外部表。'TASK'
'USER'
'WAREHOUSE'
使用说明¶
要使用此函数,需要以下内容:
用于对指定对象名称运行 DESCRIBE <object> 操作的权限。
标签所在数据库和架构上的 USAGE。
有关更多信息,请参阅 标签权限和 DDL 摘要。
共享的 SNOWFLAKE 数据库上的 IMPORTED PRIVILEGES (如果指定了 系统标签)。
示例¶
如果标签未关联到指定对象,则返回 NULL
:
select system$get_tag('cost_center', 'my_table', 'table'); +-----------------------------------------------------+ | SYSTEM$GET_TAG('COST_CENTER', 'MY_TABLE', 'TABLE') | +-----------------------------------------------------+ | NULL | +-----------------------------------------------------+
返回指定表的标签值。标签值是标签中 key = 'value'
对的字符串组件:
select system$get_tag('cost_center', 'my_table', 'table'); -----------------------------------------------------+ | SYSTEM$GET_TAG('COST_CENTER', 'MY_TABLE', 'TABLE') | +----------------------------------------------------+ | sales | +----------------------------------------------------+
返回指定列的标签值:
select system$get_tag('fiscal_quarter', 'my_table.revenue', 'column'); +----------------------------------------------------------------+ | SYSTEM$GET_TAG('FISCAL_QUARTER', 'MY_TABLE.REVENUE', 'COLUMN') | +----------------------------------------------------------------+ | Q1 | +----------------------------------------------------------------+